【发布时间】:2009-11-18 14:35:22
【问题描述】:
有一些带有 onclick 事件操作的链接
<a href="#" onclick="alert('panic!')">Let's panic</a>
<a href="#" onclick="alert('panic!')" disabled="disabled">I can't panic no more</a>
我需要阻止在具有 disabled 属性的链接上执行事件操作,而不删除 onclick 操作。
$('a[disabled]').click(function(e){
e.stopPropagation();
return false;
});
这段代码对我没有帮助。
更新即使这段代码也不起作用
<html><head><script type='text/javascript' src='jquery-1.3.2.js'></script></head>
<body>
<a href='#' onclick="alert('HA-ha!')" disabled="disabled" class="disabled">TEST</a>
<script type="text/javascript">
$('a[disabled], a.disabled').click(function(e){
console.log('override?');
e.stopImmediatePropagation();
e.preventDefault();
e.stopPropagation();
return false;
});
</script>
</body></html>
【问题讨论】:
-
return false;vs.e.preventDefault();vse.stopPropagation();讨论在这里找到:stackoverflow.com/questions/1357118/… -
你所有的 jQuery 代码都应该被包裹在一个
$(document).ready( function() { ...code here... } );中,再加上从你的标记和选择器中删除disabled标记应该可以正常工作。
标签: javascript jquery events onclick