我尝试使用两个不同的jquery插件让占位符在ie9,Andrew Jones one和Mathias Bynens one中工作。
不幸的是,他们两个都给了我同样的问题,对于我的生活,我无法弄明白。第一个问题是,在JS控制台中偶尔出现以下错误:
SCRIPT438: Object doesn't support property or method 'placeholder'
...就好像脚本没有加载,即使它有。当我刷新页面时,通常会出现50/50的错误。我遇到的下一个问题是,有时占位符甚至不会显示,但是当我单击输入字段然后单击其他位置时,占位符文本将最终出现。
这是在rails应用程序中使用。我在main.js document.ready()
if (navigator.userAgent.match(/MSIE\s(?!10.0)/)) {
$(":input[placeholder]").placeholder();
}
我将脚本包含在layouts/application.html.erb
中,如此:
<%=stylesheet_link_tag "normalize"%>
<%=stylesheet_link_tag "main"%>
<%=stylesheet_link_tag "r"%>
<%=stylesheet_link_tag "1140"%>
<%=stylesheet_link_tag "ie"%>
<%=stylesheet_link_tag "jquery.placeholder.min"%>
<%=javascript_include_tag "vendor/jquery-1.8.0.min.js"%>
<%=javascript_include_tag "vendor/modernizr-2.6.1.min.js"%>
<%=javascript_include_tag "vendor/css3-mediaqueries.js"%>
<%=javascript_include_tag "vendor/jquery.fitvids.js"%>
<%=javascript_include_tag "plugins.js"%>
<%=javascript_include_tag "rails.js"%>
<%=javascript_include_tag "jquery.placeholder.min.js"%>
<%=javascript_include_tag "main.js.erb"%>
<%=csrf_meta_tag %>
非常感谢有关此问题的任何帮助。