我在jquery中设置了一个link元素并调用了它的click事件,但click事件调用了两次,请参阅下面的jquery代码.
$("#link_button")
.button()
.click(function () {
$("#attachmentForm").slideToggle("fast");
});
Run Code Online (Sandbox Code Playgroud)
请指教.
谢谢.
The*_*tem 73
点击之前解除绑定;
$("#link_button").unbind('click');
$("#link_button")
.button()
.click(function () {
$("#attachmentForm").slideToggle("fast");
});
Run Code Online (Sandbox Code Playgroud)
Nal*_*ran 48
这意味着您的代码包含两次jquery脚本.但试试这个:
$("#btn").unbind("click").click(function(){
//your code
});
Run Code Online (Sandbox Code Playgroud)
Upe*_*dra 18
在我的情况下,我使用下面的脚本来克服这个问题
$('#id').off().on('click',function(){
//...
});
Run Code Online (Sandbox Code Playgroud)
off()取消绑定所有绑定的事件#id.如果您只想取消绑定click事件,请使用off('click').
只需在调用.on()之前调用.off().
这将删除所有事件处理程序:
$(element).off().on('click', function() {
// function body
});
Run Code Online (Sandbox Code Playgroud)
要仅删除已注册的"点击"事件处理程序:
$(element).off('click').on('click', function() {
// function body
});
Run Code Online (Sandbox Code Playgroud)
两次点击问题的一个相当常见的解决方案是放置
e.stopPropagation()
Run Code Online (Sandbox Code Playgroud)
在你的功能结束时(假设你使用function(e)它).这可以防止事件冒泡,这可能导致第二次执行该功能.
小智 5
我遇到了同样的问题,但是您可以尝试更改此代码
$("#link_button")
.button()
.click(function () {
$("#attachmentForm").slideToggle("fast");
});
Run Code Online (Sandbox Code Playgroud)
对此:
$("#link_button").button();
$("#link_button").unbind("click").click(function () {
$("#attachmentForm").slideToggle("fast");
});
Run Code Online (Sandbox Code Playgroud)
对我来说,这段代码解决了这个问题。但是请注意不要在HTML页面中意外地两次包含脚本。我认为,如果您正确执行了这两件事,您的代码将正常工作。谢谢
| 归档时间: |
|
| 查看次数: |
106084 次 |
| 最近记录: |