使用多个选择器,每个选择器都有不同的事件

Using multiple selectors with each having different events

我需要这个:

$("#household").children().change(function(){
    alert("changed");
});

$('.ui-icon.ui-icon-closethick.delete').click(function(){
    alert("changed");
});

变成了这样:

$("#household").children().change || $('.ui-icon.ui-icon-closethick.delete').click(function(){
    alert("changed");
});

我知道底部代码不正确,但我希望它能解释我的意思。我希望 alert#household.children() 被更改并且 .ui-icon.ui-icon-closethick.delete 被点击时被执行,但是没有写两次代码。

您可以通过将通用逻辑放入其自己的函数中来实现此目的,然后由两个事件调用该函数:

function changed() {
    console.log('changed')
}

$("#household").children().change(changed);
$('.ui-icon.ui-icon-closethick.delete').click(changed);

在别处声明该函数并将对它的引用传递给两个事件处理程序:

function somethingChanged() {
  alert('changed');
}

$(...).change(somethingChanged);
$(...).click(somethingChanged);

我认为只有 jquery 是不可能的。你可以这样开始:

$("#household,.ui-icon.ui-icon-closethick.delete")...

但之后一切都会相似(例如,两者都会有 click 或 onchange)