1

我有以下代码应该针对#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);
              }
  });
4

2 回答 2

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
});

顺便说一句,您尝试实现的是表单字段的占位符。placeholderHTML5 中的属性值得一读。

于 2012-11-20T12:06:01.633 回答
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);
        }
    });
});
于 2012-11-20T12:06:59.370 回答