私は2つの異なるjqueryプラグインを使用して、プレースホルダーをie9で動作させようとしました.Andrew Jones oneとMathias Bynens one .
残念ながら、どちらも同じ問題を抱えていて、私の人生ではそれを理解することはできません. 最初の問題は、JS コンソールで時々次のエラーが表示されることです。
SCRIPT438: Object doesn't support property or method 'placeholder'
...これは、スクリプトがロードされているにもかかわらず、ロードされていないかのようです。通常、ページを更新したときにそのエラーが表示される可能性は 50/50 です。私が遭遇している次の問題は、プレースホルダーが表示されないこともありますが、入力フィールドをクリックしてから別の場所をクリックすると、プレースホルダー テキストが最終的に表示されます。
これはレールアプリで使用されています。私はそのようにプレースホルダーを使用しています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 %>
この問題に関するヘルプをいただければ幸いです。