如何在jquery中编写onfocus事件

时间:2010-11-24 09:40:16

标签: javascript jquery

我有一个价值= 'Your Name'的用户 验证失败后,它变为:'Enter Your Name'

但我希望当我点击此字段或onfocus时,此'Enter Your Name'会消失empty string.

如何在jquery中写焦点事件?

3 个答案:

答案 0 :(得分:2)

您要查找的内容已在HTML5中标准化为the placeholder attribute。您应该使用它,然后使用JavaScript为本机不支持它的浏览器重新创建此功能。

只需按照以下方式编写HTML:

<input type="text" name="username" placeholder="Enter your name">

它将自动在现代浏览器中运行,无需JavaScript!

如果您想支持旧版浏览器,请随意使用我的Placeholder jQuery plugin,这会自动生成类似于每个相关浏览器的HTML。只需包含插件,然后像:

$('input, textarea').placeholder();

...插件将为您处理其余部分。您可以在此处查看演示:http://mathiasbynens.be/demo/placeholder

答案 1 :(得分:1)

$field.bind('focus.emptyfield', function() {
  if ($(this).val() == 'Enter your name') {
    $(this).val('');
  }
}

假设$ field是您对输入字段的jQuery引用

注意:在onclick和onfocus之间,后者是最好处理的事件,因为它是设备无关的

note2:始终使用命名空间事件(以便以后安全取消绑定)

答案 2 :(得分:0)

无论

http://api.jquery.com/focus/

$(selector).focus(function);

或者,如果您动态加载内容(ajax等)

http://api.jquery.com/live/

$(selector).live("focus",function);