IE7 中的占位符
Posted
技术标签:
【中文标题】IE7 中的占位符【英文标题】:Placeholder in IE7 【发布时间】:2011-12-21 16:28:15 【问题描述】:我已经厌倦了一些占位符插件来让它在 IE 中工作。目前我正在使用http://widgetulous.com/placeholderjs/。这适用于 IE8 和 9,但不适用于 IE7。它抛出一个 SCRIPT1028: Expected identifier, string or number placeholder.js,第 182 行字符 5 SCRIPT5009:“占位符”未定义 csr-form.html,第 72 行字符 3 - 这是我通过以下方式调用 placeholder.js 的地方:
$(function()
// Placeholder
Placeholder.init();
);
有谁知道如何让它在 IE7 中工作,或者有人可以推荐另一个在 IE7 中工作的插件吗?
更新 这是小提琴, http://jsfiddle.net/clintongreen/NLWRL/
谢谢
【问题讨论】:
你能提供更多的上下文吗?该脚本是如何包含在页面中的,它与 Placeholder.js 包含的关系在哪里? 嗨,这是一个内部项目,但我会尝试在 jsfiddle 上创建一个模型,干杯 我想看看你的<script>
标签,它们是如何排序的,以及它们在HTML中的位置。
嗨,Kevin,我创建了一个快速模型,jsfiddle.net/clintongreen/NLWRL Cheers
在这种情况下,我看到 Placeholder.init();
出现在 Placeholder.js 脚本之后。在调用 Placeholder.init();
之前加载 Placeholder.js 时,您能否验证问题在 IE7 中是否仍然存在?
【参考方案1】:
我在工作中使用Placeholder-jQuery-Plugin by mathiasbynens。
它说支持 IE6+,我们在 IE7 上没有遇到任何问题。
用法很好——在你的输入标签中设置占位符属性并在你的$(function())
中调用$('input').placeholder();
【讨论】:
在 IE7 中,当我模糊出字段时,我得到一个输入调整大小【参考方案2】:啊,你的问题是这样的散列中的尾随逗号
'this':'blows',
'up': 'ie7',
编辑:是的,我明白了,你在那个小提琴中的 utils
哈希后面有一个逗号。
这里是修复: http://jsfiddle.net/NLWRL/1/
未在 ie7 中测试,可能有更多尾随逗号隐藏在那里供您查找
顺便说一句,当您在 ie7 中看到 Expected identifier, string or number
时,9/10 倍的结尾是逗号。
【讨论】:
对于其他对 placeholder.js 1.1 版有此问题的人。只需删除第 182 行和第 229 行的尾随逗号即可。 提醒 Google 员工,感谢这个帖子,placeholder.js 版本 1.1.1 包含了 ie7 修复。以上是关于IE7 中的占位符的主要内容,如果未能解决你的问题,请参考以下文章
Modernizr.load 在 IE7/IE8 中不提供输入和文本区域占位符支持