0

私はこのコードを持っています:

<td onclick="Test()">
  <img src="test.jpg" onclick="Test2(); return false;"><br>
  Rest of the cell with some text.
</td>

画像をクリックすると、テーブルセルもクリックしているため、Test()も起動します。これを証明する方法は?画像をクリックするとtest2()が起動し、テーブルセルの別の場所をクリックするとtest()が起動するはずです。

編集:falseを返しても、Test()は起動されます(Chromeでのテスト)!

4

3 に答える 3

6

falseを返す場合Test2()、クリックはバブルしませんTest()

于 2013-03-24T22:12:43.420 に答える
3

短い答え:

<img src="test.jpg" onclick="Test2(); return false;">

長い答え:

イベントの順序-http://www.quirksmode.org/js/events_order.html

于 2013-03-24T22:13:14.750 に答える
1

私が好む方法は、eventListenersとevent.stopPropagation()を使用することです。これは、一部のブラウザーが受け入れないことを読んだためreturn falseであり、これもあまり明確に定義されたアクションではありません。そして、アダムが言ったように、イベントの伝播について読むことは価値があります。

<div id="clickme"></div>

<script>
document.getElementById("clickMe").addEventListener("click", function(event) {
  event.stopPropagation();
  //event.preventDefault();  this is the same as return false;
});
</script>
于 2016-07-25T23:04:24.960 に答える