1

我正在设置placeholdersinput text并且它们在IE9+.

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

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

编辑

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

4

4 回答 4

1

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

   $('textarea').focus(function() {
        if(this.title==this.value) {
        this.value = '';
        }
    }).blur(function(){
    if(this.value=='') {
        this.value = this.title;
        }
    });
于 2013-07-16T14:01:11.127 回答
0

这是我用于 IE 的

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

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

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

于 2013-07-16T14:05:48.040 回答
0

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

<textarea style="some-style" name="some-name" id="some-id" class="some-class"  placeholder="awesome placeholder"></textarea>
于 2013-07-16T13:56:38.743 回答
0

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

  $('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 元素的值应该等于它的占位符,所以我认为这是一个可靠的修复。

于 2016-01-20T15:46:21.033 回答