0

以下のコードのようにネストされた div を作成しています

<body>
  <div style='border:solid 1px red' onclick='alert("hi")'>
  Hawaii
    <div style='border:solid 1px blue;margin:10px;' onclick="alert('haha');return false;">Aloha</div>
  </div>
</body>

アロハの div がクリックされたときにハハを表示したいのですが、ハワイの div onclick イベントにバブリングしません。それを達成する方法はありますか?

編集:イベントのバブリングを認識していることを忘れていましたが、単一要素のバブリングを停止/伝播をキャンセルする方法はありますか?

4

1 に答える 1

1

event.stopPropagationは、最新のブラウザーでこれを行います。

event.cancelBubble = trueバージョン 9 より前の Internet Explorer では、代わりに設定する必要があります。

例:

<div style='border:solid 1px blue;margin:10px;' onclick="alert('haha'); event.stopPropagation(); return false;">Aloha</div>

Javascript を HTML 属性に入れないようにすれば、はるかにうまくいく可能性があります。

于 2013-01-11T05:49:30.963 に答える