警报不会触发,因为openClose()函数丢失并抛出错误。
<div class="spoilertop" onclick="openClose('cbd6c32c3118dbbdc3fbdc37e0805292')">
如何解除绑定或更好地删除onclick标记?
$('.spoilertop').click(function(){
$(this).attr('onclick','').unbind('click');
alert('f');
})
我尝试了$(this).attr('onclick','').unbind('click');
和e.preventDefault(),但不起作用。
发布于 2014-12-08 10:26:57
您的代码可以工作-在第一次单击触发后,onclick
属性将被删除。但是,在jQuery中,onclick
在click
之前触发,因此openClose
总是在第一次触发时触发,请参见。您将看到foo
警报仅在第一次单击时显示。
为了避免这种情况,您需要在加载时从元素中删除该属性,或者更好的做法是将其从HTML中完全删除。
要在加载时将其从.spoliertop
元素中删除,可以执行以下操作:
$(function() {
$('.spoilertop').attr('onclick','').unbind('click');
});
发布于 2014-12-08 10:32:02
$('.spoilertop').click(function(){
$(this).unbind('click');
$(this).removeAttr('onclick');
alert('Off');
});
https://stackoverflow.com/questions/27355829
复制相似问题