プロが教える店舗&オフィスのセキュリティ対策術

http://pure-essence.net/stuff/webTips/jqueryTabl …

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

A 回答 (2件)

このプラグインは、結構コメントが入っているのでわかりやすいです。


試してませんが、
tableRowCheckboxToggle.js 内の
$(row).click(function() {
- - - - - - - - - - - - -
の部分のセレクター指定を
$(row:not("a","input:contains('button')")).click(function() {
- - - - - - - - - - - - -
としてやれば、aタグとbottonタグで反応しなくなると思います。

この回答への補足

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

補足日時:2009/12/16 11:13
    • good
    • 0

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() {
- - - - - - - - - - - - -
    • good
    • 0
この回答へのお礼

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

お礼日時:2009/12/17 16:47

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!