1

jQuery API の説明によると、ライブは最新バージョンで完全に削除されています。しかし、それは私たちのプロジェクトで広く使用されています。例えば:

$('div.collapsed').live('mouseover', function () {
        TBD.GENERAL.showLoginOther(this);

});

$(".info_bar .filter a, .pagination a").live("click", function () {
    TBD.DHTML.shadeWithLoading($(this).data('container-id'));
    $.getScript(this.href);
    return false;
});

$("form[loading-effect]").live('ajax:before', function () {
    $(this).find('.button_panels, .loading_panels').toggle();
});

.........

最新のjqueryを使用したい場合、ライブの正しい代替品は何ですか? デリゲートまたはオン?

少し説明を期待しています。前もって感謝します

4

1 に答える 1

1

.live()非推奨なので、次のように使用することをお勧めします.on()

$('div.collapsed').on('mouseover', function () {

またはのように使用できます

$(document).on('mouseover','div.collapsed', function () {

なぜなら

  1. 再利用可能なウィジェットには .live() を使用できません。
  2. stopPropagation() はライブでは機能しません。
  3. live() の方が遅いです。
  4. live() はチェーン可能ではありません。

.on() メソッドは、イベント ハンドラーをアタッチするために必要なすべての機能を提供します。

于 2013-06-19T13:15:53.187 に答える