我有一张桌子,其中所有tds都有一个onlick事件,事情是我想关闭它们以避免在同一个td上多次点击,但稍后在脚本上我想再打开它们
我有这样的事情:
$(tdidhere).prop("onclick",false);
$(tdidhere).prop("onclick",true);
事情是onclick false工作正常,但onclick true不会给onclick事件回来
答案 0 :(得分:1)
更好的解决方案是持有一个属性来管理是否可以为该元素处理click
事件。像这样的东西;
$('#myTd').click(function(e) {
if ($(this).data('click-blocked')) {
e.preventDefault();
}
else {
$(this).data('click-blocked', true);
// your click logic
$(this).data('click-blocked', false);
}
});
答案 1 :(得分:0)
将其设置为true
将无效。您需要重新分配原始事件处理函数。
停用:
// backup the original event handler
$(tdidhere).prop("onclick_backup", $(tdidhere).prop("onclick"));
$(tdidhere).prop("onclick",false);
要重新激活:
// restore the original event handler
$(tdidhere).prop("onclick", $(tdidhere).prop("onclick_backup"));
答案 2 :(得分:0)
您应该使用$("id").bind('click',function(){...})
和$("id").unbind('click')
documentation