[英]How to properly handle an onclick event in conjunction with an onblur
以下帖子与我在此处提出的先前问题有关。
尽管这两个问题是独立的,但它们确实与我实现的相同功能有关 - 预测文本。
我遇到的问题与如何调用onblur
和onclick
两个事件有关。
这种情况发生在用户在文本框中输入了一些字符并决定他们想要点击建议而不是完成输入整个单词之后。
我有一个附加到每个建议的onlick
处理程序。
但是,我的文本框还附加了一个onblur
处理程序。
问题是onblur
处理程序应该关闭建议框并销毁其内容。
onlick
处理程序需要内容以复制单击的 div 的值并将其复制到文本框中。
因此,进退两难。 如果它已被onblur
处理程序销毁,我将无法复制任何内容。
如何捕获onblur
事件,同时还要确定onblur
是否是由用户“单击”其中一项建议触发的?
希望我的问题有意义。
我尝试了许多不同的事情,包括将我的文本输入字段和我的自动填充 div 都包装在父 div 中,并在父 div 上设置 onblur - 但没有任何效果。 显然,您不能在 div 上分配 onblur 事件(因为它无法获得焦点)。
答案是按照 Seth 的建议在onblur
事件上设置超时。
onblur="setTimeout(function() {closeSuggestionBox();}, 100);"
我在此处的帖子中找到了对此的很好解释。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.