2012-01-20 19 views
1

.load機能を使用して動的にページを読み込むWordpressサイトを開発しました。動的にロードされたHTMLでJavaScriptを実行するjQuery

私は動作させる必要があるいくつかのプラグインをインストールしましたが、代わりはありません。私の問題は、これらのプラグインは、div#contentにロードされたときにJavaScript(AJAX連絡フォームとフォトギャラリー)に依存しているため、必要なJavaScriptが動的に読み込まれたコンテンツで実行されません。

通常の解決方法では、ページに必要なJavaScriptがロードされますが、これはWordpressで行われ、<script>タグはプラグインによって<head>に配置されます。私が検討した別の解決策は、jQueryの$.getScriptを使用していますが、JSがすでに頭に入っているので、これも競合の原因になります。私は本当に次のどこに行くべきかについて悩んでいます。

敬具

+1

なぜあなたは、あなたのプラグインの初期化が.LOAD()メソッドの「完全な」コールバックで呼び出すことはありませんか? –

+0

@DidierGhysこれを回答として投稿した場合、私はあなたに代理人を与えるためにそれを受け入れたでしょう –

答えて

1

.load()メソッドの「完全」コールバックを使用して、追加された要素にプラグインをインスタンス化しないのはなぜですか?

.load(url [, data] [, complete(responseText, textStatus, XMLHttpRequest)]) 

url: A string containing the URL to which the request is sent.  
data: A map or string that is sent to the server with the request.  
complete(responseText, textStatus, XMLHttpRequest): A callback function that is executed when the request completes. 

使用である:

$('#insertIntoThis').load('url', function(data, status, xhr) { 
    // instantiate here 
    // $('#myelement').myPlugin(); 
}); 
関連する問題