繁体   English   中英

jQuery textarea值焦点

[英]jquery textarea value focus

对我来说这可能是愚蠢的,但是我在哪里出错呢?

$(function() {

    $('textarea#comment').each(function() {

        var $txt = $(this).val();

        $(this).bind('focus', function() {

            if($(this).val($txt)) {
                $(this).val('');
            }

        });
    });

});

基本上,我希望检查这种情况下的值是否为默认值“输入您的评论”,然后将其更改为无。

有人知道怎么做吗? 我猜它相对简单。 该代码目前正在执行的操作是删除任何值。

好的,首先,您应该只有一个带有注释ID的标签,因为ID应该是唯一的,但是如果我们使用您的代码,则必须首先设置一个默认值,如下所示:

<textarea id="comment">Enter text here</textarea>

现在的javascript:

    (function() {

    $('textarea#comment').each(function() {

        var $txt = $(this).val();
        //alert($txt);
        $(this).bind('focus', function() {

            if($(this).val() === this.defaultValue) {
                $(this).val('');
            }

        });
    });

})();

自执行函数语法已在此处得到纠正,应如下所示:

(function () { // my code here })();

对于默认值,请使用:

this.defaulValue; // works for input boxes as well

希望能帮助到你。 干杯

jquery_example插件完全可以满足您的需求。 您可以查看其源代码并获得一些启发。 或者,您可以将默认值存储为标签上的元数据,并在textarea标签的change事件中对其进行检查。

尝试

$('#comment').live('click change focus', function() {
        var $txt = $(this).val();
        if($txt == 'Enter your comment' );
         $(this).val('');
});

演示

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM