Javascript 我如何才能不对YUI自动完成选择上的模糊事件作出反应
我试图用YUI autocomplete对onBlur和onSelect事件做出不同的反应。我需要隐藏交流,当用户点击其他地方,并把它留在那里选择。问题是,在select上也会触发模糊事件。我找不到一个只有在AC外单击时才会触发的事件,在选择的情况下,我真的无法以某种方式捕捉模糊事件,因为它是在选择事件之前触发的 所以基本上我想要的是这样的输出: 单击外部ac:BLUR 选择值:选择值 但我得到的是: 单击外部ac:BLUR 选择值:模糊,选择值Javascript 我如何才能不对YUI自动完成选择上的模糊事件作出反应,javascript,events,autocomplete,onblur,yui-autocomplete,Javascript,Events,Autocomplete,Onblur,Yui Autocomplete,我试图用YUI autocomplete对onBlur和onSelect事件做出不同的反应。我需要隐藏交流,当用户点击其他地方,并把它留在那里选择。问题是,在select上也会触发模糊事件。我找不到一个只有在AC外单击时才会触发的事件,在选择的情况下,我真的无法以某种方式捕捉模糊事件,因为它是在选择事件之前触发的 所以基本上我想要的是这样的输出: 单击外部ac:BLUR 选择值:选择值 但我得到的是: 单击外部ac:BLUR 选择值:模糊,选择值 这会导致在选择时隐藏AC。因为当您选择某个内容时
这会导致在选择时隐藏AC。因为当您选择某个内容时会触发模糊事件,并且您可能无法阻止,所以在模糊时设置一个超时。如果计时器超时,则执行通常在模糊上执行的操作 在选择事件中,取消计时器 一些非常松散的伪代码:
var blurTimer = null;
function handleBlur() {
blurTimer = setTimeout(function() {
// do what you normally do onblur
}, 50);
}
function handleSelect() {
clearTimeout(blurTimer);
// do what you normaly do on select
}