1

データテーブルと行のグループ化を使用して、入力がクリックされたときに行が展開されないようにしようとしています..しかし、trがクリックされたときにのみ展開します。 .stopPropagation()動作していません。

.live()テーブルがajaxで動的に作成されるので使っています。

$("#example input[type='text']").live('click',function(event){
    event.stopPropagation();
    return false;
});

ここに jsfiddle があります: http://jsfiddle.net/JWvZt/

4

1 に答える 1

1

トラブルシューティング中に、クリック イベントがjsfiddle で2 回バインドされていることがわかりました (javascript フレームの最初と最後で)。最初のものを削除し、2番目を次のように定義した後:

$("#example td").on('click','input[type="text"]', function(event){
    event.stopPropagation();
    return false;
});

コードは希望どおりに機能します。注: .live() は廃止されたため、.on() を使用しています。イベント バインディングを更新するには、行を動的に作成するときに、AJAX 成功ハンドラー (または .done() メソッド) で上記のコード フラグメントを呼び出す必要があります。

ここにjsfiddleへのリンクがあります

于 2013-03-11T18:21:14.447 に答える