2011-06-27 28 views
16

私はONCLICKイベントのテーブル行を持っています(以下の追加データを切り替えます)。行セルの1つの中にボタンがあります(クリックされるとAJAXアクションが実行されます)。 ボタンをクリックすると、Rowのonclickイベントも発生し、AJAX呼び出しが完了する前に追加データが表示されます(これは私にとっては悪い行為です)。 どのように私はこれをエレガントに解決できますか? (行のonclickコードに識別してコード化することなく) ありがとう行内のボタンをクリックすると、テーブル行のonclickイベントが発生しないようにします。

答えて

26

event.stopPropagation();をボタンclickハンドラに追加します。詳細については、herehereをご覧ください。

+2

正確な解決方法を私に指示しました。ありがとう!! – Guy

+0

怠け者のための直接のリンク! - テーブル行のイベントハンドラを起動させないように魅力的に働きましたが、テーブルデータ内のリンクをクリックできるようにしました!! - https://developer.mozilla.org/en-US/docs/Web/API/Document_Object_Model/Examples#Example_5:_Event_Propagation –

0

あなたはjavascriptのソリューションを嫌う場合は、多くの場合、CSSソリューションが同様に可能である:

style="pointer-events: none;" 

<tr> onclickイベントをSUPRESSます。

しかし、場合によっては動作していないような問題が残っていました。 ほとんどの場合、私は上記のスタイルを使用します。

関連する問題