1

我有一个使用 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="" />

示例小提琴

4

1 回答 1

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'
});
于 2013-07-30T15:05:49.290 回答