关于IE8下removeAttr('onclick')不成功的解决方法


测试代码:
<html xmlns="http://www.w3.org/1999/xhtml">
	<head>
		<script type="text/javascript" src="jquery.js"></script>
		<script type="text/javascript">
			$(function(){
				var topHTML = "<input id='but' type='button' value='提交' onclick='alert(1);' />";
				$("body").append(topHTML);
			});
			$(function(){
				$("input").removeAttr('onclick');
			});
		</script>
	</head>
	<body>
	</body>
</html>


这段代码在Chrome下执行是没有问题的,在IE8下执行通过查看源代码onclick属性确实是去掉了,但是点击按钮还是会响应单击事件。(IE8的版本是8.0.7601.17514)

发现这个问题的时候尝试了很多方法都没有解决,在不经意间执行了2次removeAttr发现问题解决了。
虽然现在还不知道出现这个问题跟解决这个问题的原理,还是想将这个解决方法分享下,也希望有知道为什么的朋友可以解我这个疑惑。

解决以后的代码:
<html xmlns="http://www.w3.org/1999/xhtml">
	<head>
		<script type="text/javascript" src="jquery.js"></script>
		<script type="text/javascript">
			$(function(){
				var topHTML = "<input id='but' type='button' value='提交' onclick='alert(1);' />";
				$("body").append(topHTML);
			});
			$(function(){
				$("input").removeAttr('onclick');
				$("input").removeAttr('onclick');
			});
		</script>
	</head>
	<body>
	</body>
</html>


你可能感兴趣的:(JavaScript,jquery,ie8,onclick,removeAttr)