我怎么能不反应模糊事件上YUI自动完成选择



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

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

点击外部ac: BLUR

select value: select val

但是我得到的是:

点击外部ac: BLUR

select value: BLUR, select val

因为当你选择某些东西时blur事件会触发,而且很可能你无法阻止它,所以在blur上设置一个超时。如果计时器超时,那么就像你通常在模糊时做的那样。

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

相关内容

  • 没有找到相关文章

最新更新