问题描述
如果单击class
,则它将点击该方法。
现在,单击<div>
元素之一将调用该方法三次。
我想将这些div组合在一起,检查是否调用了一个div,然后触发一次该方法。
否则什么也不会发生。
$(document.on('click', '.class1, .class2, .class3', (e) => {
someFunction();
}
我已经尝试过用此方法获取当前class
,但未成功。
以及使用currentTarget
。
有什么帮助吗? 我第一次使用JQuery时不确定该怎么做。
1楼
Fernando León
1
2019-03-02 23:05:19
请参阅此示例。
或者,您可以这样做:
$('button[class^="class"]').click(function(e){
alert('fired2');
});
2楼
connexo
0
2019-03-02 23:24:28
为什么不简单地使用香草Javascript呢?
document.addEventListener('click', (e) => { if (['class1', 'class2', 'class3'].includes(e.target.className)) { console.log(`${e.target.className} clicked`); } })
<div class="class1">class 1</div> <div class="class2">class 2</div> <div class="class3">class 3</div> <div class="class4">class 4</div>
IE兼容的ES5中的相同代码:
document.addEventListener('click', function(e) { if (['class1', 'class2', 'class3'].indexOf(e.target.className) > -1) { console.log(e.target.className + ' clicked'); } })
<div class="class1">class 1</div> <div class="class2">class 2</div> <div class="class3">class 3</div> <div class="class4">class 4</div>