• ベストアンサー

jqueryのプラグインの件

http://pure-essence.net/stuff/webTips/jqueryTableRowCheckboxToggle.html 上記サイトにあるテーブルをクリックするとチェックボックスがトグル式 に反応するプラグインの件で、チェックボックスが入っているテーブルに aタグのリンクやbuttonタグが入っていると、そのボタンを押した際にも チェックボックスが反応してしまい困っております。 aタグとbottonタグを押した際にチェックボックスを反応させないためには どうすればいいでしょうか? どなたかご存知の方、ご教授ください。 宜しくお願いいたします。

質問者が選んだベストアンサー

  • ベストアンサー
  • yyr446
  • ベストアンサー率65% (870/1330)
回答No.2

No.1です。 エラーが出たのは、若干書き間違えがあったからですが、それを 直しても、この方法じゃうまくいきませんでした。 そこで、以下のように、リンク要素とボタン要素のクリックイベントの プロパゲーションを止めてやると、TR要素に伝わらなくなり、チェックボックス にチェックがつかなくなりました。(IE7とFirefox3.5でテスト) こいつらに、本来のクリックイベントの動作をさせたい時は、 このハンドラーの中に書けばよいでしょう。 - - - - - - - - - - - - - hasChecked = false; //挿入部分 $("a").bind("click", function(event){ event.stopPropagation(); }); $("input[type='button']").bind("click", function(event){ event.stopPropagation(); }); $("button").bind("click", function(event){ event.stopPropagation(); }); //挿入終わり $(row).click(function() { - - - - - - - - - - - - -

hunter_999
質問者

お礼

ありがとうございます。 解決いたしました。

その他の回答 (1)

  • yyr446
  • ベストアンサー率65% (870/1330)
回答No.1

このプラグインは、結構コメントが入っているのでわかりやすいです。 試してませんが、 tableRowCheckboxToggle.js 内の $(row).click(function() { - - - - - - - - - - - - - の部分のセレクター指定を $(row:not("a","input:contains('button')")).click(function() { - - - - - - - - - - - - - としてやれば、aタグとbottonタグで反応しなくなると思います。

hunter_999
質問者

補足

ご回答ありがとうございます。 早速試してみましたが、エラーが出て続行できませんでした。 原因がわからない次第でございます。 宜しくお願いいたします。

関連するQ&A