JQuery提供了一个只执行一次事件的方法。
我有一个文本字段,用户可以在其中输入数据,一旦鼠标离开该文本字段,我就要运行一个函数。
我知道onBlur
事件,但除非用户在字段外单击,否则它不会运行,因此这并不总是按需工作。我也知道onKeyUp
和onKeyDown
事件;但我真的不想使用这些,因为我不想运行超过我需要的功能。
那么我还有什么其他选择呢?jQuery里有什么吗?
仅在input
聚焦时为其创建mouseleave
事件,并在事件发生后将其销毁:
JS:
$("#txtLeave").focus(function() {
$(this).mouseleave(function() {
console.log("leaving...");
$(this).off();
});
});
演示:http://jsfiddle.net/s6xf6/2/
您可以使用此方法"focusout"。。。
$('text-field').focusout(function () {
// ...
});
jQuery聚焦
$("#txt").one("mouseout", function(){
alert("mouseout");
});