我有一个价值= 'Your Name'
的用户
验证失败后,它变为:'Enter Your Name'
但我希望当我点击此字段或onfocus时,此'Enter Your Name'
会消失empty string.
如何在jquery中写焦点事件?
答案 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)
无论
$(selector).focus(function);
或者,如果您动态加载内容(ajax等)
$(selector).live("focus",function);