Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/476.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 输入焦点Jquery问题_Javascript_Jquery_Input_Textarea_Onblur - Fatal编程技术网

Javascript 输入焦点Jquery问题

Javascript 输入焦点Jquery问题,javascript,jquery,input,textarea,onblur,Javascript,Jquery,Input,Textarea,Onblur,我正在尝试修复这段代码,它在单击时删除了输入的值,然后在模糊时将值返回到输入中。您可以在这里看到我的JSFIDLE,了解我的意思: 问题 它似乎对前两个输入有效,但其余的似乎没有任何作用。它似乎也不适用于文本区域。这里的行为很奇怪,但我相信Javascript负责人可以解决这个问题 非常感谢 现在它可以工作了: 使用jQuery属性: jQuery(document).ready(function($) { $("input, textarea").focus(function() {

我正在尝试修复这段代码,它在单击时删除了输入的值,然后在模糊时将值返回到输入中。您可以在这里看到我的JSFIDLE,了解我的意思:

问题

它似乎对前两个输入有效,但其余的似乎没有任何作用。它似乎也不适用于文本区域。这里的行为很奇怪,但我相信Javascript负责人可以解决这个问题

非常感谢

现在它可以工作了:

使用jQuery属性:

jQuery(document).ready(function($) {
    $("input, textarea").focus(function() {
        if (!$(this).data('original')) {
            $(this).data('original', $(this).val());
        }
        if ($(this).val() == $(this).data('original')) {
            $(this).val('').css({
                'color': "#999999",
                'background-color': '#c6e9ff'
            });
        }
    });
    $("input, textarea").blur(function() {
        if ($(this).val() == "") {
            $(this).val($(this).data('original')).css({
                'background-color': '#ffffff'
            });
        }
    });
});

你的不起作用的原因是因为你使用了他们都没有的这个.id。如果您只使用每个输入的data属性,那么每个输入都知道它应该是什么,不应该是什么:-

或者简单地给元素一个id=property。

太棒了!也谢谢你的解释@Neal:-@remi90-也不要使用attr'value',这就是.val的用途。