提问人:spraff 提问时间:11/11/2023 更新时间:11/11/2023 访问量:19
当外部元素具有焦点时,onclick 不会在 TD 上触发
onclick not firing on td when outside element has focus
问:
我有一个在 onchange、onkeydown 等触发时在 Javascript 中执行搜索。这将生成一个结果,该结果显示在 using .这行得通。<input>
<table>
<input>
position: absolute
该表包含可单击的单元格
let td = document.createElement ("td");
tr.appendChild (td);
td.appendChild (document.createTextNode (search_result.label));
td.onclick = create_click_handler (search_result);
问题是,如果有焦点,那么只有在第二次点击时才会触发。因此,如果我执行以下一系列操作:<input>
onclick
- 键入搜索文本(生成结果)
- 单击“A”(无事)
<td>
- 单击以重新获得焦点(没有任何反应)
<input>
- 单击“A”(无事)
<td>
- 单击以重新获得焦点(没有任何反应)
<input>
- 单击“A”(无事)
<td>
- 单击以重新获得焦点(没有任何反应)
<input>
- 单击“A”(无事)
<td>
- 单击(现在调用了 onclick 处理程序!
<td>
当发生火灾时,它会正常运行。如果我在Firefox的调试器中捕获“事件侦听器断点”,这将确认第一次单击根本不会发生。换句话说,这似乎是因为 DOM 中的某些内容,而不是 Javascript 的问题。td.onclick
Mouse > click
onclick
在Firefox和Chrome中的行为是一样的,所以我认为根据某种标准,这是“正确”的行为。
如何确保第一次点击此 td 时始终触发事件处理程序?
答: 暂无答案
评论