我正在使用一些简单的jQuery将onfocus / onblur事件添加到生成的表单中。以下代码适用于其他浏览器,IE7 / 8除外:
$(document).ready(function(){
$("input#edit-submitted-first-name").attr('onfocus', "if(this.value=='First Name') this.value = ''");
$("input#edit-submitted-first-name").attr('onblur', "if(this.value=='') this.value = 'First Name'");
});
在IE源代码中,它甚至没有将它添加到输入中。有关于此的IE错误吗?
答案 0 :(得分:6)
我不认为事件应该以这种方式分配。
为什么不使用
$("input#edit-submitted-first-name").focus(function(){ if (this.....
$("input#edit-submitted-first-name").blur(function(){ if (this.....
答案 1 :(得分:1)
在兼容模式的IE8上,这是有效的:
$(document).ready(function(){
$("#edit-submitted-first-name").focus(function(){
if(this.value=='First Name') this.value = '';
});
$("#edit-submitted-first-name").blur(function(){
if (this.value=='') this.value = 'First Name';
});
});
在此处查看此行动:http://jsfiddle.net/w9pWk/
注意:此功能非常类似于此处的水印插件:http://code.google.com/p/jquery-watermark/但当然缺少一些易于使用的功能,初始字段填充,如果数据不替换的逻辑如果您输入插件,则输入等。
答案 2 :(得分:0)
试试这个
$('input#edit-submitted-first-name').focus(function() {
if($(this).val()=='First Name')
$(this).val('')
});
$('input#edit-submitted-first-name').blur(function() {
if($(this).val()=='')
$(this).val('First Name')
});