1

私のスクリプトには次の関数があり、同じことを行います。それらをどのように組み合わせることができますか?

$('.AddOne').live('click', function(){
    $('.saveGroup').show();
});
$('#PhoneNumbersSelectms2side__sx  option').dblclick(function(){
    $('.saveGroup').show();
});
$('.AddAll').live('click', function(){
    $('.saveGroup').show();
});
4

1 に答える 1

4

clickイベント メソッドとdblclickイベント メソッドはそれぞれ、最初の引数としてコールバック関数を受け取ります。JavaScript では関数は変数です。関数を作成し、それをコールバックに渡します

var showFn = function(){
    $('.saveGroup').show();
};

$('.AddOne').live('click', showFn);
$('#PhoneNumbersSelectms2side__sx  option').dblclick(showFn);
$('.AddAll').live('click', showFn);

次のようにライブ セレクターを組み合わせることで、このコードをさらに簡素化できます。

$('.AddOne, .AddAll').live('click', showFn);

最後に、jquery 1.7.x を使用している場合は、on代わりに新しいイベント メソッドを使用する必要がありliveます。新しいコードは次のようになります。

var showFn = function(){
    $('.saveGroup').show();
};
var $doc = $(document);
$doc.on('click', '.AddOne, .AddAll', showFn);
$doc.on('dblclick', '#PhoneNumbersSelectms2side__sx  option', showFn);
于 2012-08-02T11:35:37.470 に答える