如何侦听更改和输入之类的多个事件,但一次仅触发一个事件。
示例:
使用此代码侦听事件,但在输入时会触发两次。
演示:
https://jsfiddle.net/h6sny738/2/
$(document).on("change input", '.test', function(event) {
console.log("test");
});
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<input class="test">
答案 0 :(得分:2)
命名您的函数,并为不同的侦听器分配不同的目标:
var myFunc = function(event) {
console.log('test', event.type, event.target.tagName);
};
$(document)
.on('change', 'select.test', myFunc)
.on('input', 'input.test', myFunc);
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<input class="test">
<select class="test">
<option>1</option>
<option>2</option>
</select>