2

次のスクリプトを簡略化する方法があるかどうか疑問に思っています...助けてくれてありがとう。

$('#right-arrow').live('click', function(){
        removt();
        callAjaxToCheck();
        show = true;
})

$('#tab').click(function(){
   removeTut();
   callAjaxToCheck();
   show = true;

})

$('left-arrow').live('click', function(){
        removeT();
        callAjaxToCheck();
        show = true;
})
4

3 に答える 3

6

コードには常にセミコロンを含めてください。 (行の後にそれらがありません}))。

それを行う最もクリーンな方法は、別の関数を作成することだと思います。

function doStuff() {
    removeTut();
    callAjaxToCheck();
    showTutorial = true;
}

$('#eplanner-view-range-right-arrow').live('click', doStuff);
$('#lesson-search-tab').click(doStuff);
$('#eplanner-view-range-left-arrow').live('click', doStuff);

もちろん、よりわかりやすい関数名を使用する必要がありますdoStuff

于 2012-08-24T21:13:19.150 に答える
2

複数のセレクターを使用する:

$('#eplanner-view-range-right-arrow,#lesson-search-tab,#eplanner-view-range-left-arrow').live('click', function(){
   removeTut();
   callAjaxToCheck();
   showTutorial = true;
});
于 2012-08-24T21:12:22.080 に答える
2
var func = function() {
    "use strict";
    removeTut();
    callAjaxToCheck();
    showTutorial = true;
};

$("#parent").on("click", "#eplanner-view-range-right-arrow, #eplanner-view-range-left-arrow", func);
$("#lesson-search-tab").click(func);

jQueryバージョン1.7以降で非推奨となるように変更.live().on()れました。.live()古いバージョンのjQueryを実行している場合は、変更しないでください.live()

于 2012-08-24T21:13:07.050 に答える