文本框失去焦点时的Jquery函数

时间:2010-06-30 16:29:22

标签: jquery

我有文本框,当文本框失去焦点时我想运行一些jquery,所以在用户点击文本框之后。

我试过这样做

$("#textbox").focusout(function () {
    alert("hello");

});

但是我收到错误,说Object不支持此属性或方法。

我怎么能这样做?

4 个答案:

答案 0 :(得分:18)

在v1.4中添加了

focusout。三个想法:

  1. 你能使用早期版本的jQuery吗?
  2. 您的字段是否真的有textbox
  3. 您是否也在使用Prototype或MooTools(或其他任何可能接管$的人)?如果是这样,请使用jQuery的noConflict模式并使用jQuery代替$
  4. 除此之外,它应该(确实)有效。

    以下是一个示例(使用警报):http://jsfiddle.net/QzmZp/1/
    另一个没有使用警报(因为IE7吓坏了):http://jsfiddle.net/QzmZp/2/
    之前有人问过浏览器版本,我已经尝试过使用Chrome 5,IE6,IE7和FF3.6;一切都很好。

    我同时选择了inputtextarea,因为我不确定您使用的是哪个。

答案 1 :(得分:12)

jQuery("#textbox").blur(function() {
  alert("hello");
});

blur是元素失去焦点时触发的事件。查看jQuery.blur

修改

不确定这是否是您想要的,但如果您真的想使用focusout,请查看T. J. Crowder's solution。但是,对于您的情况,可能需要blur事件,因为您想要检测文本框本身的失去焦点。当元素或元素失去焦点时,focusout会触发。

答案 2 :(得分:5)

$("#idOfTextField").blur(function(){

  //your code

});

答案 3 :(得分:3)

$(document).ready(function () {
        ////////////////////////ALL textbox to upper
        $("input[type=text]").blur(function () {
            $(this).val($(this).val().toUpperCase());
        });
    }); 

要在失去焦点时将所有文本框转换为上部。