IE9占位符属性Modernizr和jQuery Mobile

时间:2013-07-30 14:38:01

标签: jquery-mobile internet-explorer-9 placeholder modernizr

我有一个使用jQuery Mobile库和html5的移动网站。在这个网站上,我已经使用占位符标记输入(因为我隐藏了标签)。

然而,我们都知道IE是无能为力的,并且在IE10之前不支持占位符,但我的客户希望这也适用于IE9(为什么他希望在移动网站上支持这种情况超出我的意愿)。

我已经下载并安装了最新版本的modernizr脚本,但占位符仍然没有显示出来。有什么我需要做的才能使这项工作?

我包含的脚本:

<script src="/Scripts/jquery-2.0.3.js"></script>
<script src="/Scripts/jquery.unobtrusive-ajax.js"></script>
<script src="/Scripts/jquery.mobile-1.3.1.js"></script>
<script src="/Scripts/modernizr-2.6.2.js"></script>

示例html输入

<input class="textbox" data-val="true" data-val-length="The field Surname * must be a string with a maximum length of 150." data-val-length-max="150" data-val-required="Please enter your surname." id="Surname" name="Surname" placeholder="Surame *" type="text" value="" />

Example Fiddle

1 个答案:

答案 0 :(得分:8)

Modernizr不会将占位符或任何其他功能添加到旧浏览器中。

Modernizr只是一个脚本,可以让您判断浏览器是否支持任何给定的功能。您仍需要根据Modernizr为您提供的信息采取行动,并在Modernizr告知您不支持时实施占位符功能。

Modernizr甚至提供了一个wiki页面,其中列出了可用于各种功能的Polyfill脚本:https://github.com/Modernizr/Modernizr/wiki/HTML5-Cross-Browser-Polyfills

从该页面中选择一个占位符脚本,并执行以下操作:

Modernizr.load({
  test: Modernizr.input.placeholder,
  nope: 'placeholder-polyfill.js'
});