12

私は持っている

  • クリックイベントのあるテーブル行
  • クリックイベントのあるボタン、そのボタンはテーブル行にあります

そして私には問題があります。ボタンを押すと、行クリックイベントも実行されますが、この動作は望ましくありません。行をクリックせずに、ボタンをクリックして実行するだけです。

4

5 に答える 5

11

jQuery の使用 (質問タグのため):

$('#yourButton').click(function(e) {
    // stop event from bubbling up to row element
    e.stopPropagation();

    // now do your stuff
});
于 2009-11-13T13:41:35.307 に答える
8

コードを見てください。これは、ボタン クリック イベントstopPropagationで行うべきことです。

于 2009-11-13T12:17:50.663 に答える
3

追加の関数 onClick を呼び出すことができます

これは機能です:

function cancelBubble(e){

    e.cancelBubble = true;
    if(e.stopPropagation)
     e.stopPropagation();
}

ボタンの onClick のように書くことができます

onclick="yourfunctionname();cancelBubble(event)"

yourfunctionname:: は、既に呼び出している関数の名前です。

于 2009-11-13T16:15:09.060 に答える
1

また、クリック可能な要素にドロップダウンを重ねました。したがって、以下を使用して、最新のすべてのブラウザーの基になる要素への伝播を防ぎます。

onclick="yourfunctiontohandle();event.stopPropagation();"

古いクロス ブラウザー ソリューションの場合は、IE の event.cancelBubble を使用する必要があります。

onclick="if(event.stopPropagation) event.stopPropagation(); else event.cancelBubble=true;"
于 2013-11-11T14:29:05.457 に答える