阻止 JavaScript 执行
2012-06-05
489
<div onclick="AutogeneratedMethod()">
<span>SPAN 1 : I require auto method </span>
<span onclick="DesiredMethod()">SPAN 2 : I do not require auto method</span>
</div>
在上面的代码示例中,当用户点击
SPAN 2
时,如何防止调用
AutogeneratedMethod()
?我无法控制
div
的声明及其相应的
onclick
行为。该行是从我使用的框架自动生成的。
我正在寻找可以在
DesiredMethod()
末尾终止 Javascript 执行的方法。类似这样的方法:
function DesiredMethod() {
//Do necessary stuff
exit; //Abort any further Javascript
}
2个回答
您想要停止 事件传播 。IE 具有 cancelBubble 。
sachleen
2012-06-05
您也可以像这样移动一些东西:
<div>
<span onclick="AutogeneratedMethod()">SPAN 1 : I require auto method </span>
<span onclick="DesiredMethod()">SPAN 2 : I do not require auto method</span>
</div>
那么您就不必担心事件传播和冒泡了。
您可能还想考虑通过不同的机制附加您的 JavaScript 事件,无论是使用框架(jQuery 等)还是使用纯 JavaScript。出于多种原因,通过 HTML 属性执行此操作是不受欢迎的。查看 此链接 了解更多详情。
arb
2012-06-05