2

好的,我有一个用户输入数据的文本字段,一旦他们的鼠标离开该文本字段,我想运行一个函数。

我知道该onBlur事件,但是除非用户在字段外单击,否则它不会运行,因此它并不总是按需要工作。我也知道onKeyUponKeyDown事件;但我真的不想使用这些,因为我不想运行超出我需要的功能。

那么我还有什么其他选择?jQuery中的任何东西?

4

3 回答 3

3

仅在它被聚焦时创建一个mouseleave事件,并在事件发生后销毁它:input

JS:

$("#txtLeave").focus(function() {
    $(this).mouseleave(function() {
        console.log("leaving...");
        $(this).off();
    });
});

演示:http: //jsfiddle.net/s6xf6/2/

于 2013-07-16T12:59:47.750 回答
2

您可以使用此方法“focusout”...

$('text-field').focusout(function () {
      // ...
});

jQuery 聚焦

于 2013-07-16T13:22:26.440 回答
0

JQuery 提供了一个执行事件一次的方法。

$("#txt").one("mouseout", function(){
 alert("mouseout"); 
}); 
于 2013-07-17T13:41:46.873 回答