【问题标题】:textarea placeholder does not work in IE10textarea 占位符在 IE10 中不起作用
【发布时间】:2013-07-14 17:57:46
【问题描述】:

我正在设置placeholders 的input text,它们在IE9+ 中正常工作。

<textarea style="some-style" name="some-name" id="some-id" class="some-class" 
 placeholder="awesome placeholder"></textarea>

上面的这行不通。 我也尝试使用plugin,但它并没有改变任何东西。还尝试搜索较旧的问题,但没有找到任何东西

编辑

我注意到一个奇怪的行为:启动时textarea 的内容是placeholder 的text,所以不是空的,如果我删除它,那么textarea 是空的,placeholder正常工作

【问题讨论】:

  • 占位符不应该是这样工作的吗?
  • 否,因为第一次它是一个值,而不是占位符,我必须通过选择它来删除它
  • 好的.. 所以如果你在文本区域内输入了一些东西,你不会期望占位符消失吗?开始/结束标记之间的所有内容都是 textarea 的内容
  • 第一次是一个值是什么意思?
  • 如果我在 textarea 中输入一些东西,第一次,它是用占位符输入的。如果我然后删除所有文本:占位符加上我输入的内容,那么 textarea 是空的,占位符也可以使用

标签: jquery html placeholder


【解决方案1】:

您可以在标题属性中设置占位符的文本,并将此功能与 jQuery 库一起使用

   $('textarea').focus(function() {
        if(this.title==this.value) {
        this.value = '';
        }
    }).blur(function(){
    if(this.value=='') {
        this.value = this.title;
        }
    });

【讨论】:

    【解决方案2】:

    确保文本区域“内部”没有任何东西。开始和结束标签之间没有间隙。另外,我认为 placeholder 属性在 IE9 中不起作用,但在 IE10 中应该。

    <textarea style="some-style" name="some-name" id="some-id" class="some-class"  placeholder="awesome placeholder"></textarea>
    

    【讨论】:

      【解决方案3】:

      这是我在IE中使用的

      var eMail = $('input').val();
      $('input').click(function () {
          $(this).val('');
      });
      $('input').focusout(function () {
      
          if ($('input').val() != '') {
             //..
          } else {
              $(this).val(eMail);
          }
      });
      

      您也可以将它与 textarea 一起使用

      【讨论】:

        【解决方案4】:

        好吧,我会继续发布我的答案,即使这个错误很老,因为其他的都不适合我,而且这个错误仍然非常持久。

          $('textarea').each(function() {
            // Check to see if the placeholder value equals the actual value
            if ($(this).attr('placeholder') == $(this).val()) {
              // If so, empty the actual value
              $(this).val("");
            }
          });
        

        基本上,它会检查是否有任何 textarea 元素具有与其占位符相等的值,如果是,则清空该值。这是一个安全的假设,即在页面呈现时,任何 textarea 元素都不应该具有与其占位符相等的值,所以我认为这是一个可靠的修复。

        【讨论】:

          猜你喜欢
          • 2013-10-19
          • 2014-09-06
          • 2014-08-20
          • 2012-11-25
          • 2020-03-20
          • 2018-02-19
          • 2017-04-23
          • 2013-07-15
          • 1970-01-01
          相关资源
          最近更新 更多