2012-06-05 43 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