0

以下のコードでは、グローバル変数を設定し、これらの変数に要素を設定してから、ドロップダウンでデリゲート変更イベントを割り当てます。

change イベントは、IE8 以前を除くすべてのブラウザーで発生します。IE7以下についてはあまり気にしません。

助けていただけませんか?

$(function () {
    initialisePage();
});

function initialisePage() {
    window.portfolioGroupFilters = $("#portfolioGroupFilters");
    window.portfolioGroupsList = $("#portfolioGroupsList");
    window.portfolioGroupAccounts = $("#portfolioGroupAccounts");
    window.coverSheetsList = $("#coverSheetsList");
    window.coverSheetsPanel = $("#coverSheetsPanel");
    window.reportGroupsList = $("#reportGroupsList");
    window.reportGroupPanel = $("#reportGroupsPanel");
    window.searchResults = $("#searchResults");
    setportfolioGroupFiltersdelegates();
}

function setportfolioGroupFiltersdelegates() {
    portfolioGroupFilters.delegate(".availableFilters", "change", function () {});
}
4

1 に答える 1

1

jQuery 1.7 以降を使用している場合、最善の解決策はon()の代わりに使用することですdelegate()

使用on()するコードは次のようになります。

portfolioGroupFilters.on("change", ".availableFilters", function () {});

また、live()非推奨であることを知っておくとよいでしょう: http://api.jquery.com/live/

jQuery 1.7 以降、この.live()メソッドは非推奨になりました。.on()イベント ハンドラーをアタッチするために使用します。古いバージョンの jQuery のユーザーは、 よりも.delegate()優先して使用する必要があります.live()

于 2013-05-22T13:17:10.090 に答える