1

我尝试使用两个不同的 jquery 插件来让占位符在 ie9 中工作,Andrew Jones 一个Mathias Bynens 一个

不幸的是,他们都给了我同样的问题,我一生都无法弄清楚。第一个问题是,在 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 %> 

对此问题的任何帮助将不胜感激。

4

0 回答 0