3

我有一个.on('click','td', function(){})活动。我转动它.off('click','td')。我现在想.on()再次参加同样的活动。我尝试了一些组合,.on()但没有奏效。可以通过将其分配给变量来完成,但不知道该怎么做。

4

2 回答 2

8

将事件处理函数放在一个变量中,并像这样使用它:

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);
于 2013-07-03T02:04:48.100 回答
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
});

这可能不是最好的答案,但我希望你能明白

于 2013-07-03T01:48:28.897 回答