具有相同选择器的不同子选择器上的click事件

时间:2018-07-13 11:38:40

标签: jquery

是否可能在具有相同选择器的其他子选择器上发生click事件。 当我尝试时,只有最后一个触发器。

谢谢。

$('#datableAddress').off().on('click', '#edit', function () {})

$('#datableAddress').off().on('click', '#delete', function () {})

3 个答案:

答案 0 :(得分:2)

.off()之前删除.on(),以添加多个事件处理程序,而不删除旧的事件处理程序:

$('#datableAddress').on('click', '#edit', function () {})

$('#datableAddress').on('click', '#delete', function () {})

答案 1 :(得分:1)

我认为最简单的方法是更改​​选择器,使其对两者都起作用,就像这样:

$('#datableAddress').on('click', '#edit, #delete', function () {})

如果不需要其他功能,可以将其删除。

答案 2 :(得分:1)

有很多方法可以做到这一点

第一个选项

文档.on点击事件

$(document).on('click', '#datableAddress #edit', function () {
    alert($(this).text())
});

$(document).on('click', '#datableAddress #delete', function () {
    alert($(this).text())
});

第二个选项

.on直接在选择器上单击事件

$('#datableAddress').on('click', '#edit, #delete', function () {
    alert($(this).text())
});

第三种选择

click上的元素

$('#datableAddress #edit, #datableAddress #delete').click(function () {
    alert($(this).text())
});

第四种选择

保留.off事件以解除选择器的绑定,并再次向元素添加.on事件以将其绑定

$('#datableAddress #edit').off('click').on('click', function () {
    alert($(this).text())
});

$('#datableAddress #delete').off('click').on('click', function () {
    alert($(this).text())
});