论坛首页 Web前端技术论坛

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

浏览 2780 次
精华帖 (0) :: 良好帖 (0) :: 新手帖 (0) :: 隐藏帖 (0)
作者 正文
   发表时间:2015-09-25  

测试代码:
<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>


论坛首页 Web前端技术版

跳转论坛:
Global site tag (gtag.js) - Google Analytics