我有以下代码,它应该定位#newsletter
输入,将默认文本添加到其中,然后在用户选中/单击输入时将其删除。但它似乎不起作用,我得到以下控制台错误:
Uncaught SyntaxError: Unexpected end of input
有什么想法吗?
$(function() {
var defaultText = "Your email address";
$('#newsletter').val(defaultText).focus(function() {
if (this.value == defaultText) {
$(this).val('');
}
}).blur(function() {
if (this.value == '') {
$('#newsletter').val(defaultText);
}
});
答案 0 :(得分:4)
您在代码中缺少右括号:
$(function() {
var defaultText = "Your email address";
$('#newsletter').val(defaultText).focus(function() {
if (this.value == defaultText) {
$(this).val('');
}
}).blur(function() {
if (this.value == '') {
$('#newsletter').val(defaultText);
}
}); // <-- check it here
});
顺便说一下,您尝试实现的是表单字段的占位符。有必要阅读HTML5中的placeholder
属性。
答案 1 :(得分:2)
});在代码结束时丢失,因此问题是由于不平衡的支撑。
这里是更正版本
$(function() {
var defaultText = "Your email address";
$('#newsletter').val(defaultText).focus(function() {
if (this.value == defaultText) {
$(this).val('');
}
}).blur(function() {
if (this.value == '') {
$('#newsletter').val(defaultText);
}
});
});