text区域占位符在IE10中不起作用



我正在设置input textplaceholder s,它们在IE9+中正常工作。

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

以上内容不起作用。我也试过使用一个插件,但它并没有改变任何东西。还试图搜索旧问题,但没有找到任何

编辑

我注意到一个奇怪的行为:启动时textarea的内容是placeholdertext,因此不为空,如果我删除它,则textarea为空,placeholder正常工作

您可以在title属性中为占位符设置文本,并将此函数与jQuery库一起使用

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

确保文本区域内没有任何内容。打开和关闭标记之间没有间隙。此外,我认为占位符属性在IE9中不起作用,但在IE10中应该起作用。

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

这是我在IE 中使用的

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

您也可以将其与文本区域一起使用

好吧,我会继续发布我的答案,尽管这个bug已经很旧了,因为其他bug都不适合我,而且这个bug仍然非常持久。

  $('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元素的值等于其占位符,如果是,则清空该值。一个安全的假设是,在页面呈现中,任何文本区域元素的值都不应该等于其占位符,所以我认为这是一个可靠的解决方案。

最新更新