2012-06-05 154 views
2
<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行为的声明没有任何控制权。该行是从我使用的框架自动生成的。防止JavaScript执行

我正在寻找一些能够在DesiredMethod()结束时杀死Javascript执行的东西。类似这样的:

function DesiredMethod() { 
//Do necessary stuff 
exit; //Abort any further Javascript 
} 
+0

执行无效的代码,它将完全阻止任何进一步的JavaScript :) – ajax333221

+0

你的代码中有其他的jQuery吗? – Blazemonger

回答

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了解更多详情。

+0

它不在我的控制之下。我在这里提到的div和它的onclick是由JSF生成的。 – brayne