我有一个表,其中所有 td 都有一个 onlick 事件,问题是我想关闭它们以避免多次点击同一个 td,但稍后在脚本中我想再次打开它们
我有这样的事情:
$(tdidhere).prop("onclick",false);
$(tdidhere).prop("onclick",true);
问题是 onclick false 工作正常,但 onclick true 不会返回 onclick 事件
我有一个表,其中所有 td 都有一个 onlick 事件,问题是我想关闭它们以避免多次点击同一个 td,但稍后在脚本中我想再次打开它们
我有这样的事情:
$(tdidhere).prop("onclick",false);
$(tdidhere).prop("onclick",true);
问题是 onclick false 工作正常,但 onclick true 不会返回 onclick 事件
更好的解决方案是持有一个属性来控制是否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);
}
});
设置它是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"));
您应该使用$("id").bind('click',function(){...})
和$("id").unbind('click')
文档