检测输入文本字段外的模糊

时间:2018-01-16 02:06:54

标签: javascript jquery blur

我有两个不同ID的输入框。我只需要在输入框外单击即可调用模糊功能。

尝试使用以下代码

$('#voc1,#voc2').on('blur', function (e) {

    console.log("calling on blur1111");

});

但是在点击其他输入框时,正在调用模糊功能。谁能帮我这个。

1 个答案:

答案 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' />