在preventDefault之后重新启用onclick行为

时间:2016-03-10 09:53:35

标签: javascript jquery

如果我在一个点上禁用了我的元素上的点击事件,我以后怎样才能再次重新启用?

$(myElem).click(function(event) { 
    event.preventDefault();
});    

3 个答案:

答案 0 :(得分:1)

HTML:

<button id="test" >test</button>

JS:

$('#test1').click(function (e){
   if($(this).hasClass('prevented')){
       e.preventDefault();
   }
});

您也可以使用例如。数据属性。

答案 1 :(得分:0)

$(myElem).click(function (event) { event.preventDefault(); });    
$(myElem).unbind('click');

答案 2 :(得分:0)

我不知道,如果这是最好的解决方案,但它很容易:在&#34;点击范围&#34;之外设置一个标志。 ...

var pd = true;

$(myElem).click(function (event) { 
  if (pd) event.preventDefault(); 
  // other actions
}); 

然后您可以稍后设置pd = false。如果pd是在click处理程序之外定义的,那么这在我看来应该有用。