我有一个文本框,当文本框失去焦点时,即用户点击文本框外部时,我希望运行一些jQuery代码。
我尝试过这样做:
$("#textbox").focusout(function () {
alert("hello");
});
但是我收到一个错误,指出“对象不支持此属性或方法”。
那么我应该怎么做呢?
我有一个文本框,当文本框失去焦点时,即用户点击文本框外部时,我希望运行一些jQuery代码。
我尝试过这样做:
$("#textbox").focusout(function () {
alert("hello");
});
但是我收到一个错误,指出“对象不支持此属性或方法”。
那么我应该怎么做呢?
jQuery("#textbox").blur(function() {
alert("hello");
});
blur
是指元素失去焦点时触发的事件。请查看jQuery.blur
。
编辑
不确定您是否需要,但如果您真的想使用focusout
,请查看T. J. Crowder的解决方案。然而,在您的情况下,blur
事件可能是您需要的,因为您希望检测文本框本身失去焦点。focusout
当元素或该元素内的任何元素失去焦点时会被触发。
focusout
事件同样会在文本框上触发,但它也会冒泡。 - Nick Craverfocusout
是在v1.4中添加的。三个想法:
textbox
?$
的东西)?如果是,请使用jQuery的noConflict
模式并使用jQuery
代替$
。除此之外,这应该(也确实)可以工作。
以下是一个示例(使用像你一样的警报):http://jsfiddle.net/QzmZp/1/
和另一个不使用警报(因为那会让IE7出问题):http://jsfiddle.net/QzmZp/2/
之前有人问过浏览器版本,我已经尝试过Chrome 5、IE6、IE7和FF3.6;都正常。
我同时做了一个input
和一个textarea
,因为我不确定你使用的是哪一个。
$("#idOfTextField").blur(function(){
//your code
});
$(document).ready(function () {
////////////////////////ALL textbox to upper
$("input[type=text]").blur(function () {
$(this).val($(this).val().toUpperCase());
});
});
当文本框失去焦点时,将所有文本框转换为大写。
blur
?叹气 - T.J. Crowder