本文实例讲述了jQuery动态移除与增加onclick属性的方法。分享给大家供大家参考,具体如下
本文实例讲述了jQuery动态移除与增加onclick属性的方法。分享给大家供大家参考,具体如下:
这里给大家介绍利用jquery的removeAttr
与attr
事件来给a标签增加与删除onclick事件的具体操作方法,有需要了解的朋友可参考。
要实现效果:点击链接先去掉onclick属性,3秒后再自动加上该标签中的onclick属性
jQuery中,针对标签属性的操作都是使用attr()
方法来实现的,比如:$("a").attr("onclick")
可获得a标签的onclick
属性,对应的:
增加事件
$(选择器).attr(属性名) 它的作用就是获取指定元素( $(选择器)部分 )的指定属性的值
如设置onclick属性:
$("a").attr("onclick","test();");
删除事件
$(selector).removeAttr(attribute)
例如 删除onclick属性:
$("a").removeAttr("onclick");
理论上上面的代码没问题,但实际上上面语句不执行也不报错,后来发现原因:
jquery 1.6之前的版本并不支持attr()
方法对标签onclick属性的相关操作!
换句话说要使用attr()方法操作标签中的onclick属性必须使用jq库1.6或更新的库版本!
<script type="text/javascript" src="jquery.min.js"></script>
<script type="text/javascript">
$(function(){
$(".b").click(function(){
$(this).removeAttr("onclick");
setTimeout(function(){
$(".b").attr("onclick","test();");
},3000)
})
})
function test(){}
</script>
<p>
<a class="b" href="#" rel="external nofollow" onclick="test();">点击去掉该链接的onclick属性,3秒后再自动加上该onclick属性</a>
</p>
jquery中删除属性的关键词是: removeAttr 注意A是大写
jquery还有一个解除事件委派的方法:unbind([eventType])
。参数是可选的,如果不选,则表示移除节点所有已绑定事件。
这里你只需要解除click事件,可以用$("#s1").unbind("click")
来处理。