输入焦点Jquery问题

时间:2011-11-04 14:16:43

标签: javascript jquery input textarea onblur

我正在尝试修复这段代码,在Click上删除输入的值,然后在Blur上将值返回到输入中。你可以在这里看到我的jsFiddle以了解我的意思:

JSfiddle

问题

它似乎适用于前两个输入,但其余的似乎没有做任何事情。它似乎也不适用于textarea。这里有奇怪的行为,但我确信Javascript头可以对此进行排序。

非常感谢!

2 个答案:

答案 0 :(得分:0)

现在它起作用了::-) http://jsfiddle.net/maniator/3Ys7c/3/

使用jQuery data() attrbute:

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

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

答案 1 :(得分:0)

或者只是为您的元素添加id=""属性。