2

重複の可能性:
Ajax 経由で読み込まれた要素に関数をバインドする方法

私のアプリケーションでは、いくつかのセルのマウスオーバーで情報パネルを作成し、セルを強調表示して、ユーザーがどのセルを見ることができるようにしたいと考えています。次のjsとcssを使用しました。これは、ページが最初に読み込まれたときに存在するセルに対してうまく機能しました

$(document).ready(function(){
    $("table1 td").hover(function(){
    $("table1 td").removeClass('highlight');
    $(this).addClass('highlight');
    });
});

ハイライト

.highlight{
    border-style:outset;
    border-width:5px;
    border-color:#0000ff;
}

しかし、私のアプリケーションでは table1 td は wicket listview によって生成され、ユーザーが検索を行うと Ajax 経由で更新されます。そして、Ajax の更新後、これらの js コードは効果がありませんでした。Ajax の更新後もこれらの js コードを機能させるにはどうすればよいですか? どんな助けにも本当に感謝します!

4

2 に答える 2

1

申し訳ありませんが、関数を使用したい場合はbind、代わりにこれを使用してください。jQuery はホバーをサポートしていません。

$(selector).bind('mouseenter', function () {alert('hover'); });
$(selector).bind('mouseleave', function () {alert('hover'); });
于 2012-07-09T13:34:49.147 に答える
0

Ajax はテーブルを更新するので、ready 関数には記述しないでください。ここに2つのポイントがあります:

1)。Ajaxの成功関数で書きます。

$.ajax(function () {
....,
....,
success: funciton () {
$("table1 td").hover(function(){
$("table1 td").removeClass('highlight');
$(this).addClass('highlight');
});
}
});

2)。バインド機能を使用します。

$("table1 td").bind('hover', function(){
$("table1 td").removeClass('highlight');
$(this).addClass('highlight');
});
于 2012-07-09T13:30:00.133 に答える