IE8下removeAttr('onclick')不成功的原因


$(function(){ var topHTML = "<input id='but' type='button' value='提交' onclick='alert(1);' />"; $("body").append(topHTML); }); $(function(){ $("input").removeAttr('onclick'); });





这是我的测试代码,通过js往body中添加带单击事件的按钮,通过removeAttr删除单击事件。

这段代码在Chrome中执行是没问题的,但在IE8中执行单击事件还会响应。
但如果把$("input").removeAttr('onclick');这条语句重复执行2遍就不会有问题。
$(function(){
$("input").removeAttr('onclick');
$("input").removeAttr('onclick');
});

大家有谁知道这是什么原理,感觉好奇怪。

jQuery版本是多少?找到一个类似的问题说明,参考:http://www.php100.com/html/program/jquery/2013/0905/5964.html

你在页面加载玩后延迟几秒执行remove试试