好的,我已将jQuery事件处理程序mouseover
绑定到具有以下代码的元素:
jQuery(document).ready(function(){
jQuery('#buyout_field').mouseleave(function() {
alert('Hi!');
});
});
这很有效,但之后我注意到,如果用户从这些下拉列表auto-complete
菜单中选择一个值,浏览器会显示您输入的过去数据,mouseleave
事件过早触发我很喜欢。是的,它会在正确的时间点火(当鼠标离开元素时);但是,只有在用户将数据输入字段后才需要触发该功能。
然后我添加了focusout
处理程序以覆盖更多基础:
jQuery('#buyout_field').focusout(function() {
alert('Hi!');
});
但是,用户仍然可以从下拉列表中选择一个值,而不是在文本字段外单击。
我在解决此功能时是否还有其他选项?或者我是否必须使用setTimeout()
来允许用户有时间从自动完成列表中选择某些内容然后激活该功能或者我应该禁用自动完成?