Javascript 我如何才能不对YUI自动完成选择上的模糊事件作出反应

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。因为当您选择某个内容时

我试图用YUI autocomplete对onBlur和onSelect事件做出不同的反应。我需要隐藏交流,当用户点击其他地方,并把它留在那里选择。问题是,在select上也会触发模糊事件。我找不到一个只有在AC外单击时才会触发的事件,在选择的情况下,我真的无法以某种方式捕捉模糊事件,因为它是在选择事件之前触发的

所以基本上我想要的是这样的输出:

单击外部ac:BLUR

选择值:选择值

但我得到的是:

单击外部ac:BLUR

选择值:模糊,选择值


这会导致在选择时隐藏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
}