0

私が達成しようとしているのは、要素内の変更 (ユーザー入力、フィールドの追加など) を<table>追跡することです。私の特定のシナリオでは、ユーザーはフィールドの編集、行の追加、フィールドの追加、フィールドと行の削除、要素内の何かの選択などを行うことができます<select>

もちろん、「変更」リスナーをこれらすべてのアクションにアタッチすることもできますが、もっと良い方法があるに違いないと思います。

-listener を付けて$('#myTable tbody').change()みましたが、起動しません...

考えられるすべてのユーザー アクションを手動でサブスクライブせずに、テーブルの変更を追跡する方法を知っている人もいるでしょうか?

4

3 に答える 3

0

編集:私が理解しているように、jQuery 1.4+は実際に説明されている動作をサポートする必要があります。残りの記事は参考までに残しておきます。

変更可能なすべての要素にイベントを追加できます。これは、イベントが発生する場所であるためです。ただし、手動で行う必要はありません。

$('#myTable input, #myTable select, ...).change(...)

あなたが言ったように、後で追加される要素がある場合は、.live後で作成される要素にイベントリスナーをバインドできるようにする方法を検討することをお勧めします。

于 2013-03-30T13:39:01.620 に答える
0

Jquery liveQuery プラグインを使用できます

以下は、マウスオーバーとマウスアウトの例です。同様にすべてのイベントでそれを行うことができます

 $('table') 
    .livequery(function(){ 
    // use the helper function hover to bind a mouseover and mouseout event 
        $(this) 
            .hover(function() { 
                $(this).addClass('hover'); 
            }, function() { 
                $(this).removeClass('hover'); 
            }); 
    }, function() { 
        // unbind the mouseover and mouseout events 
        $(this) 
            .unbind('mouseover') 
            .unbind('mouseout'); 
    }); 
于 2013-03-30T13:40:53.180 に答える