JavaScript/jQuery-重用元素的“Click”事件
我有一个元素,比如div。并将事件“单击”附加到它。在jQuery中,它将是:JavaScript/jQuery-重用元素的“Click”事件,javascript,jquery,Javascript,Jquery,我有一个元素,比如div。并将事件“单击”附加到它。在jQuery中,它将是: $('#myDiv').click(function(){ $(".class1").show(); }) 现在,我想分配一个新函数myDiv,替换旧函数。我正在这样做: $('#myDiv').click(function(){ $(".class23").hide(); }) 但当我在div上运行“click”时,就会执行我分配给该怀疑开头的函数 问题:如何删除将与归因于元素的单击事件
$('#myDiv').click(function(){
$(".class1").show();
})
现在,我想分配一个新函数myDiv,替换旧函数。我正在这样做:
$('#myDiv').click(function(){
$(".class23").hide();
})
但当我在div上运行“click”时,就会执行我分配给该怀疑开头的函数
问题:如何删除将与归因于元素的单击事件一起运行的函数?否使用所需的新单击事件重新创建元素…
您可以删除所有以前绑定的函数:
$('#myDiv').unbind('click');
或者,如果您只想解除一个特定函数的绑定:
var show = function() {
$(".class1").show();
};
$('#myDiv').click(show);
然后:
$('#myDiv').unbind('click', show); // unbind first function
$('#myDiv').click(function() { // bind second function
$(".class23").hide();
});
请注意.clickfunc只是.bind'click',func.的快捷方式
您可以删除所有以前绑定的函数:
$('#myDiv').unbind('click');
或者,如果您只想解除一个特定函数的绑定:
var show = function() {
$(".class1").show();
};
$('#myDiv').click(show);
然后:
$('#myDiv').unbind('click', show); // unbind first function
$('#myDiv').click(function() { // bind second function
$(".class23").hide();
});
请注意.clickfunc只是.bind'click',func的快捷方式。使用该函数删除所有单击事件
$('#myDiv').unbind('click');
使用该函数可删除所有单击事件
$('#myDiv').unbind('click');
在第一次单击事件上添加计数器
var counter = 0;
$('#myDiv').click(function(){
if(counter>1){
$(".class23").hide();
}
else
$(".class1").show();
counter++;
})
仅举一个例子。在第一次单击事件上添加计数器
var counter = 0;
$('#myDiv').click(function(){
if(counter>1){
$(".class23").hide();
}
else
$(".class1").show();
counter++;
})
仅举一个例子。如果您知道只需单击一次图元,则可以使用它在单击一次后自动解除绑定:
$("#myDiv").one("click", function() {
$(".class1").show();
$("#myDiv").one("click", function(){
$(".class23").hide();
});
});
如果您知道只需单击一次图元,则可以使用它在单击一次后自动解除绑定:
$("#myDiv").one("click", function() {
$(".class1").show();
$("#myDiv").one("click", function(){
$(".class23").hide();
});
});
尽管“取消绑定”是一个很好的解决方案,您说它可以改进我的代码。尽管“取消绑定”是一个很好的解决方案,您说它可以改进我的代码。