我需要它来清除焦点上的默认输入值,如果模糊时值为空,则返回值。这是我目前的代码:
$(document).ready(function() {
function toggleText(selector, value) {
$(selector).focus(function() {
if ($(this).val == value) {
$(this).val('');
}
});
$(selector).blur(function() {
if ($(this).val == '') {
$(this).val(value);
}
});
}
toggleText('input[name="first-name"]', 'First name...');
});
答案 0 :(得分:2)
它是$(this).val()
,而不是$(this).val
:
$(document).ready(function() {
function toggleText(selector, value) {
$(selector).focus(function() {
if ($(this).val() == value) {
$(this).val('');
}
});
$(selector).blur(function() {
if ($(this).val() == '') {
$(this).val(value);
}
});
}
toggleText('input[name="first-name"]', 'First name...');
});
修改强>
但我认为这样做更好:
$(document).ready(function() {
function toggleText(selector) {
$(selector).focus(function() {
if ($(this).val() == $(this)[0].defaultValue) {
$(this).val('');
}
});
$(selector).blur(function() {
if ($(this).val() == '') {
$(this).val($(this)[0].defaultValue);
}
});
}
toggleText('input[name="first-name"]');
});
如果您使用this plugin,则可以使用$(this).defaultValue()
。