html 防止基于输入焦点的列表在单击时消失

vjrehmav  于 2022-12-02  发布在  其他
关注(0)|答案(1)|浏览(108)

我一直在尝试编写一个自定义的启发式元素,其中有一个用户可以写入的输入字段和一个根据输入焦点出现和消失的列表。
第一个
问题是当用户点击列表时,输入失去了焦点,这发生在onclick能够工作之前。我已经尝试了几种方法,包括但不限于event.stopPropagation(),禁用useCapture或在列表的click事件处理程序上重新聚焦输入,但似乎都不起作用。
我真的很感激有人的帮助。

vngu2lb8

vngu2lb81#

你可以试试看:

let isListClicked = false;

onListClick() {
  isListClicked = true;
  //do smth on click item 
};

onBlur() {
  setTimeout(() => {
    if (!selectClick) {
      //do smth on blur
    };
    selectClick = false;
  }, 250);
}

相关问题