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