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和event 方法都将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 回答