我有一个.on('click','td', function(){})
事件。
我转过它.off('click','td')
。我现在想再次.on()
同一事件。
我尝试了.on()
的一些组合,但它没有用。可以通过将其分配给变量来完成,但不知道如何做到这一点。
答案 0 :(得分:6)
将事件处理函数放在变量中,并像这样使用它:
var handler = function(e){
//code here
}
//on
$('#myselector').on('click', handler);
//off
//Try this, this will only turn 'handler' off
$('#myselector').off('click', handler);
//If the above doesn't work, then try this
//This will turn off all your other click handlers for the same element,
//if for some reason turning off a particular handler doesn't work!
$('#myselector').off('click');
//on again
$('#myselector').on('click', handler);
答案 1 :(得分:4)
我假设单击TD试试这个: 首先让你的td上课,告诉它是打开还是关闭。默认情况下,TD将具有td-off类,如此
<td class="td-off">
然后设置一个改变班级的事件。
.on('click','td',function(){
if($(this).hasClass('td-off')){
$(this).removeClass('td-off');
$(this).addClass('td-on');
}else{
$(this).removeClass('td-on');
$(this).addClass('td-off');
}
});
然后最终设置您开启或关闭的事件
$('.td-on').click(function(){
//Your event on
});
$('.td-off').click(function(){
//Your event off
});
这可能不是最佳答案,但我希望你能得到这个想法