Jquery焦点没有运行没有任何错误

时间:2013-12-12 03:13:50

标签: jquery

您好我刚刚开始学习Jquery,我的下面的代码无效,它甚至没有在控制台中显示任何错误。

<script type="text/javascript">
     $(document).ready(function(){
        var email_default = "Please enter email address..";

        $('input[type="email"]').attr('value', email_default);

        $(this).focus(function(){
            $(this).attr('value', '')
        });

     });
    </script>

当我对输入框进行聚焦时,上面的脚本没有做任何事情。在我正在观看的视频教程中运行相同的代码。

我需要知道导致我的功能不起作用的原因。

由于

2 个答案:

答案 0 :(得分:3)

要设置值使用.val(),value属性仅用于设置input元素的初始值,然后您需要更改dom元素的value属性。

为了设置输入元素的值,jQuery具有实用方法.val(),可用于设置和获取输入值

$(document).ready(function () {
    var email_default = "Please enter email address..";
    $('input[type="email"]').val(email_default).focus(function () {
        $(this).val('')
    });
});

同样在ready处理程序this内部引用文档对象,而不是电子邮件输入,您需要将焦点处理程序分配给input元素。

你也可以查看html5 placeholder(对于IE支持,你可能不得不使用一些插件)。

答案 1 :(得分:0)

我认为在HTML5中使用INPUT TYPE EMAIL时,更好的方法是使用HTML5占位符。

因此,通过这种方式,您输入的HTML就变成了这样的东西:

<input type="email" name="email_address"
 placeholder="Please enter email address...">