textarea占位符在IE10中不起作用

时间:2013-07-16 13:54:18

标签: jquery html placeholder

我正在设置placeholder input的{​​{1}},并且它们在text中正常工作。

IE9+

以上情况无效。 我也尝试使用plugin,但它没有改变任何东西。还试图搜索较旧的问题,但没有找到任何东西

修改

我注意到一个奇怪的行为:启动时<textarea style="some-style" name="some-name" id="some-id" class="some-class" placeholder="awesome placeholder"></textarea> 的内容是textarea的{​​{1}},所以不是空的,如果我将其删除,那么{{1} }为空,text正常工作

4 个答案:

答案 0 :(得分:1)

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

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

答案 1 :(得分:0)

确保textarea内部没有任何内容。打开和关闭标签之间没有间隙。另外,我认为占位符属性在IE9中不起作用,但应该在IE10中。

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

答案 2 :(得分:0)

这是我用于IE的原因

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

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

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

答案 3 :(得分:0)

好吧,我会继续发布我的答案,即使这个bug已经过时了,因为其他人都不适合我,而且这个bug仍然非常持久。

FormElement

基本上它检查是否有任何textarea元素的值等于其占位符,如果是,则清空该值。这是一个安全的假设,在页面渲染中没有textarea元素应该具有等于其占位符的值,所以我认为这是一个可靠的修复。