我正在尝试与yui自动完成的onblur和on选择活动反应。当用户单击其他地方时,我需要隐藏AC,并在选择时将其留下。问题是,也是模糊事件也被解雇了。我找不到只有在ac外单击时触发的事件,并且在选择事件之前,在选择之前,我真的在某种程度上捕捉模糊事件。

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

单击AC:Blur

选择值:选择val

但我得到的是:

单击AC:Blur

选择值:模糊,选择val

在选择上导致隐藏的AC。

有帮助吗?

解决方案

由于模糊事件选择某些东西时会触发,并且很可能您将无法阻止模糊设置超时。如果计时器超时,那么做你通常在模糊上做的事情。

在SELECT事件中,取消计时器。

一些非常松散的伪代码:

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
}
.

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top