Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/74.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
jQuery:在文本区域中的焦点上,删除默认文本+;更改颜色,在未聚焦时-将文本放回_Jquery_Jquery Ui_Jquery Plugins - Fatal编程技术网

jQuery:在文本区域中的焦点上,删除默认文本+;更改颜色,在未聚焦时-将文本放回

jQuery:在文本区域中的焦点上,删除默认文本+;更改颜色,在未聚焦时-将文本放回,jquery,jquery-ui,jquery-plugins,Jquery,Jquery Ui,Jquery Plugins,这是我们在stackoverflow、facebook等网站上看到的一个非常常见的用例 你经常想给用户一些文本来指导他做什么,但是你想让文本在他点击时消失 通过JQuery最简单的方法是什么?这似乎是一个相当常见的用例我在搜索输入中使用了以下简单脚本: $(document).ready(function () { searchInput = $('#search-input'); searchDefault = 'Please enter text'; search

这是我们在stackoverflow、facebook等网站上看到的一个非常常见的用例

你经常想给用户一些文本来指导他做什么,但是你想让文本在他点击时消失


通过JQuery最简单的方法是什么?这似乎是一个相当常见的用例

我在搜索输入中使用了以下简单脚本:

$(document).ready(function () {

    searchInput = $('#search-input');
    searchDefault = 'Please enter text';

    searchInput.click(function () {
        if($(this).val() == searchDefault)
            $(this).val('');
    });

    searchInput.blur(function () {
        if($(this).val() == '')
            $(this).val(searchDefault);
    });

});

您还可以为单击和模糊事件指定一些其他功能,如更改颜色或某些效果。

我认为您正在寻找的通常称为“水印”-没错,这是非常常见的。有许多jQuery插件可以满足您的要求

例如:

我们开始吧-继续

jQuery:

$(function() {
    $('#placeholderText').val("Placeholder")
        .focusin(function(){
            if($(this).hasClass('initialClass'))
                $(this).removeClass('initialClass').
                    addClass('normalClass').val('');                
        })
        .focusout(function(){
            if($(this).hasClass('normalClass') && $(this).val() == '')
                $(this).removeClass('normalClass').
                    addClass('initialClass').val('Placeholder');    
        });
});
CSS:

HTML:

点击我:

如果说明文本位于文本区域内,则可以使用toggleVal插件。我没有使用jquery水印插件,它可能会更好,所以请查看这两个插件。

HTML:


除了上面所有的好建议之外,我发现下面类似的东西对简单的网站也适用

 $(this).focusin(function () {
       }).focus(function () {
             if ($(this).val() == 'Enter a comment') {
                  $(this).select();
             }
          }).val("Enter a comment").select();
 });                        

你为什么不接受其中一个作为答案-/我试过了,但是每一个都很好!非常感谢,维克多!我想我将首先使用上面描述的插件,如果它太复杂,我将使用它=)谢谢键!我将评估水印和切换值
Click on me: <input id="placeholderText" type="text" class="initialClass" />
<label for="field1">Some text to explain the text area.</label>
<textarea id="field1" name="textarea1"></textarea>
.toggleval {
  font-style: italic;
  color:#333;
}
.tv-changed, .tv-focused {
  font-style: normal;
  color:#000;
}

Javascript:
$('.toggle').toggleVal({
    populateFrom: "label",
    removeLabels: true
});
 $(this).focusin(function () {
       }).focus(function () {
             if ($(this).val() == 'Enter a comment') {
                  $(this).select();
             }
          }).val("Enter a comment").select();
 });