我有一个使用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="" />
答案 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'
});