启用和禁用单击元素

时间:2011-11-06 17:47:02

标签: jquery

单击一个元素后,我想在该元素上禁用click(),直到用户执行其他任务为止。我已经看过人们说要将残障属性添加到元素中的帖子,但这对我来说似乎不起作用。

我已经看过其他帖子,他们建议取消绑定click(),但是在重新绑定click()时必须复制代码。有关最佳方法的任何建议吗?谢谢

$("#someElement").click(function(){
    //Disable click on #someElement, do some stuff, and show another element
    $('#anotherElement').show();
});

$('#anotherElement').click(function(){
    //Do some stuff and re-enable #someElement
});

3 个答案:

答案 0 :(得分:3)

您可以使用bindunbind

$("#someElement").click(function(){
  $(this).unbind('click');
  $('#anotherElement').show();
});

$('#anotherElement').click(function(){
  $("#someElement").bind('click');
});

答案 1 :(得分:1)

不确定为什么还没有发布。

点击后,将元素.is-disabled添加到元素中。 完成其他操作后,从元素中删除该类。

按如下方式定义该类(截至2017年1月29日,http://caniuse.com/#feat=pointer-events提供92%的浏览器支持):

.is-disabled {
   pointer-events: none;   
}

答案 2 :(得分:-2)

只需将代码放在此范围内的click函数中:

if (clickable == true)
{
}

如果不允许用户点击它,请将clickable设置为false。如果允许用户再次点击,请再次将clickable设置为true 不像Sarfraz的anwser那样专业(当我点击“添加回答”按钮时它就不存在了,否则我不会发布这个),但它很有用并且很容易:p