<div onclick="AutogeneratedMethod()">
<span>SPAN 1 : I require auto method </span>
<span onclick="DesiredMethod()">SPAN 2 : I do not require auto method</span>
</div>
在上面的代码示例中,如何在用户点击AutogeneratedMethod()
时阻止调用SPAN 2
?我对div
及其各自的onclick
行为的声明没有任何控制权。该行是从我正在使用的框架中自动生成的。
我正在寻找能够在DesiredMethod()
结束时杀死Javascript执行的东西。像这样:
function DesiredMethod() {
//Do necessary stuff
exit; //Abort any further Javascript
}
答案 0 :(得分:3)
您想要停止event propagation。 IE有cancelBubble。
答案 1 :(得分:0)
你也可以像这样移动东西:
<div>
<span onclick="AutogeneratedMethod()">SPAN 1 : I require auto method </span>
<span onclick="DesiredMethod()">SPAN 2 : I do not require auto method</span>
</div>
然后你不必担心事件传播和冒泡。
您可能还想考虑使用框架(jQuery等)或纯JavaScript通过不同的机制附加JavaScript事件。由于许多原因,不赞成通过HTML属性来做这件事。查看this link了解详情。