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()ます。このようなもの:

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

2 に答える 2

3

イベントの伝播を停止したい。IEにはcancelBubbleがあります。

于 2012-06-05T17:39:53.937 に答える
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 属性を介してそれを行うことは、多くの理由で嫌われています。詳細については、このリンクを確認してください。

于 2012-06-05T17:52:52.900 に答える