Bat*_*Dor 17 html javascript jquery input default-value
$(".box_yazi2").each(function () {
var default_value = this.value;
$(this).css('color', '#555'); // this could be in the style sheet instead
$(this).focus(function () {
if (this.value == default_value) {
this.value = '';
$(this).css('color', '#000');
}
});
$(this).blur(function () {
if (this.value == '') {
$(this).css('color', '#555');
this.value = default_value;
}
});
});
Run Code Online (Sandbox Code Playgroud)
这个输入默认值的函数在FF中不起作用,但在IE中完全有效,并且当然输入本身如下所示:
<input type="text" class="box_yazi2" id="konu" name="konu" value="Bo?" />
Run Code Online (Sandbox Code Playgroud)
Sal*_*n A 74
只需使用该defaultValue属性:
var default_value = $(this).prop("defaultValue");
Run Code Online (Sandbox Code Playgroud)
要么:
var default_value = this.defaultValue;
Run Code Online (Sandbox Code Playgroud)
解决方案非常简单; 你});的代码中有额外的内容(感谢@ Box9).
我鼓励你重用变量而不是创建几十个jQuery对象.
我已经改变了你的例子background-color但它会起作用.
$('.box_yazi2').each(function(index, element) {
var $element = $(element);
var defaultValue = $element.val();
$element.css('background-color', '#555555');
$element.focus(function() {
var actualValue = $element.val();
if (actualValue == defaultValue) {
$element.val('');
$element.css('background-color', '#3399FF');
}
});
$element.blur(function() {
var actualValue = $element.val();
if (!actualValue) {
$element.val(defaultValue);
$element.css('background-color', '#555555');
}
});
});
Run Code Online (Sandbox Code Playgroud)