プレースホルダ属性をIE8に戻す必要があります。それは、動的に要素を作成するために結合しないただし動的に作成された要素へのスクリプトのバインド
https://github.com/parndt/jquery-html5-placeholder-shim/blob/master/jquery.html5-placeholder-shim.js
:私は伝統的に、このスクリプトは、これを行うための優れていることがわかってきました。したがって、新しい入力がJSのページに追加された場合、プレースホルダは機能しません。
このスクリプトを動的に作成された要素に適用する方法はありますか?
さらにシムメソッドをソースを見ても、ベストベットのように見えます。 configオブジェクトを準備し、それを$ .fn._placeholder_shimに渡します。これは、すべての重い作業を行います。 shim()メソッドにセレクタを指定するconfigオブジェクトを渡すことで、新しい要素、つまりjQuery.placeholder.shim({selector: 'input#newElement1'})のみを対象とすることができます。 – Brian
最後のアイデアについて何も嫌なことは何も...それは何年もそのように行われてきました。既にセットアップされているクラスにクラスを追加し、not()を使用してそれらをフィルタリングするのは簡単です。 – charlietfl
Nahは、プレースホルダをインスタンス化するメソッドとは対照的に、プラグイン全体を繰り返し呼び出すことを意味しました。ページのすべての入力を繰り返し処理してセレクタを使用しないと、重複するイベントハンドラやその他の混乱のようなものになり、多量の入力を動的に生成してから、すぐにパフォーマンスを向上させることができます問題。この時点で、私は "シム"メソッドに気づいていないと書いていましたが、$( 'selector')._ placeholder-shim()を介して呼び出すと動作しないjQuery.fn._placeholder_shimメソッドだけが必要です。 configオブジェクトです。 – Brian