防止javascript执行

时间:2012-06-05 17:37:58

标签: javascript jquery

<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
}

2 个答案:

答案 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了解详情。