我有两个不同ID的输入框。我只需要在输入框外单击即可调用模糊功能。
尝试使用以下代码
$('#voc1,#voc2').on('blur', function (e) {
console.log("calling on blur1111");
});
但是在点击其他输入框时,正在调用模糊功能。谁能帮我这个。
答案 0 :(得分:0)
您可以对事件使用relatedTarget
来检查哪个元素导致第一个元素失去焦点。请注意,relatedTarget
可以为null,具体取决于发生的情况,因此您需要先检查它。然后,您可以查看id
,看看它是否是您的输入之一。
$('#voc1,#voc2').on('blur', function (e) {
let id;
if (e.relatedTarget) {
id = e.relatedTarget.id;
}
if ((id == 'voc1') || (id == 'voc2')) {
console.log(`Doing nothing because ${id} was clicked.`);
} else {
console.log('Something else was clicked so do something.');
}
});
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<input type='text' id='voc1' /><input type='text' id='voc2' />