如何组合两个使用.on的jQuery选择?

时间:2012-08-26 16:00:39

标签: jquery

我有这个jQuery:

$('#detail')
.on('click', '.deleteLink', function () {
    dialog(this);
    return false;
})
$('#detail')
.on('click', '.editLink', function () {
    dialog(this);
    return false;
})

有没有办法将它们结合起来。对不起,我根本不懂jQuery。

3 个答案:

答案 0 :(得分:4)

使用逗号选择器将其绑定到两者的父级:

// Instead of body, you might want a more specific common parent
$('body').on('click', '#detailD .deleteLink, #detail .editLink', function () {
    dialog(this);
    return false;
});

或者你可以简单地创建一次函数:

var handler = function () {
    dialog(this);
    return false;
};
$('#detailD').on('click', '.deleteLink', handler);
$('#detail').on('click', '.editLink', handler);

答案 1 :(得分:2)

将两个选择器与,匹配,就像在CSS中一样:

$('#detail').on('click', '.deleteLink, .editLink', function () {
    dialog(this);
    return false;
});

答案 2 :(得分:1)

我相信这可以用来假设.deleteLink是你的选择器的子元素

$('#detailD > .deleteLink, #detail > .deleteLink')
    .on('click', function () {
        dialog(this);
        return false;
    });​

$('#detailD > .deleteLink, #detail > .deleteLink') .on('click', function () { dialog(this); return false; });​