jquery跨浏览器支持问题

时间:2013-11-01 08:18:21

标签: jquery internet-explorer

我开始知道jquery supports all including old browsers

但是我尝试为搜索框添加一个占位符,但它在IE8中不起作用

jQuery(document).ready(function(){
    $('#search').attr('placeholder','search....');                          
});

所以我想了解更多有关跨浏览器支持的信息。如上所述它实际上是否有效?


我知道不支持html属性placeholder。但我的问题是关于jquery。

4 个答案:

答案 0 :(得分:2)

占位符是IE5不支持的HTML5功能

使用以下

<input type="text" value="search..." onfocus="if(this.value == 'search...') this.value = '';" onblur="if(this.value == '') this.value = 'search...';" />

使用jquery

<input type="text" class="my-input" value=""  />

    <script type="text/javascript">

        $(document).ready(function () {
            $('.my-input').val('search...');
            $('.my-input').focus(function () {
                if (this.value == 'search...') this.value = '';
            });
            $('input.my-input').blur(function () {
                if (this.value == '') this.value = 'search...'
            });
        });
        /*
        here I assumed a class
        .my-input 

        you can use input#id or input.className or other selector

        better you give the code of your text-box or entire form so that I can give you the exact selector

        */
    </script>

答案 1 :(得分:1)

不支持以上占位符。
因此,请将以下代码/注释添加到HTML页面的开头。现在ie8将很好地发挥。

<!-- HTML5 Shim and Respond.js IE8 support of HTML5 elements and media queries -->
<!-- WARNING: Respond.js doesn't work if you view the page via file:// -->
<!--[if lt IE 9]>
  <script src="https://oss.maxcdn.com/libs/html5shiv/3.7.0/html5shiv.js"></script>
<![endif]-->

答案 2 :(得分:0)

IE8不支持占位符

只有IE10 +支持此属性

但如果你真的想让占位符看看这个jQuery插件https://github.com/mathiasbynens/jquery-placeholder

答案 3 :(得分:0)

这里的问题不是JQuery,而是占位符属性本身。有关您问题的答案,请参阅this chart,IE8不支持placeholder attribute