我找到了一个关于向输入字段添加提示的最佳方法的教程。 Here 我做了所说的一切,但仍然不起作用......
$(document).ready(function(){
$('input[type=text][title],input[type=password][title],textarea[title]').each(function(i){
$(this).addClass('input-prompt-' + i);
var promptSpan = $('<span class="input-prompt"/>');
$(promptSpan).attr('id', 'input-prompt-' + i);
$(promptSpan).append($(this).attr('title'));
$(promptSpan).click(function(){
$(this).hide();
$('.' + $(this).attr('id')).focus();
});
if($(this).val() != ''){
$(promptSpan).hide();
}
$(this).before(promptSpan);
$(this).focus(function(){
$('#input-prompt-' + i).hide();
});
$(this).blur(function(){
if($(this).val() == ''){
$('#input-prompt-' + i).show();
}
});
});
});
这段代码有什么问题我无法找到吗?我甚至创建了jsFiddle来确定它也不起作用......
答案 0 :(得分:1)
为什么不直接使用html占位符属性?
<input type="text" id="fname" placeholder="First name">
这会将提示文本添加到显示的元素中。见this jsfiddle examle。
答案 1 :(得分:0)
好的,明白了。问题的原因完全不同。 我在脚本中添加了一些警报,发现它从未执行过。然后我在这个脚本之前执行的不同脚本中发现了一个错误。错误导致整个JS终止,因此该脚本从未执行过。在我纠正错误之后,它运行正常!