停止焦点事件添加了stopPropagation方法问题

时间:2019-08-12 15:23:14

标签: javascript

当我专注于此文本栏时,我只想显示一个警报,我正在使用JS stop.Propagation()方法停止事件监听器,这似乎不起作用,我也想避免添加html属性“ onFocus =”“。 谢谢。

const textbar = document.querySelector('#search');

textbar.addEventListener('focus', (event) => {
  alert("hi");
  event.stopPropagation();
});
        <input type="text" name="search" id="search" placeholder="Search Employee Details" class="form-control" />

1 个答案:

答案 0 :(得分:3)

您可以尝试使用布尔变量来实现。 不确定下一个焦点是否会如您所愿(离开输入并重新聚焦之后)。

const textbar = document.querySelector('#search');
let focused = false

textbar.addEventListener('focus', (event) => {
  if(!focused) {
    alert("hi");
    focused=true
  } else {
    focused=false
  }
});
<input type="text" name="search" id="search" placeholder="Search Employee Details" class="form-control" />