2012-02-14 29 views
2

私はツールチップとしてJquery Cluetipを使用しています。 ツールチップのコンテンツはCluetipのAJAX関数で読み込まれます。読み込まれたコンテンツでは、使いやすさを高めるためにJavascriptを使用したいと思います。Jquery Cluetip - ツールチップ内でjavascriptを使用

のindex.html:

<img src="edit.png" title="Test" class="popup" rel="ajax-content.html"> 

onLoad.js:

$('.popup').cluetip({activation: 'click'}); 

AJAX-content.html:

<script language="javascript" type="text/javascript"> 
    alert('Hello world!'); 
</script> 
Test content. 

結果であります「テスト」、内容:「」テスト内容 'となしアラート「Hello world!」というタイトルでクリックして表示されます。 '。 FireBugはスクリプトやコンソールのエラーを表示しません。

これに関する助力?


編集:

私はそれを考え出しました。

Cluetipが処理AJAXのデフォルトのアクションがあります。

ajaxProcess: function(data) { 
    data = data.replace(/<(script|style|title)[^<]+<\/(script|style|title)>/gm, '').replace(/<(link|meta)[^>]+>/g,''); 
    return data; 
} 

ので修正は次のとおりです。

$('.popup').cluetip({ 
    activation: 'click'. 
    ajaxProcess: function(data) { 
     return data; 
    } 
}); 

Cluetipを防ぐために、おそらく、すべてのスクリプト/スタイル/タイトルを削除し、なぜ私はわからないんだけどバグ。

答えて

1

スクリプトは、一般にjqueryのajaxフェッチによってロードされません。通常は、$ .getScript()を使用するか、スクリプト要素を見つけて自分でスクリプトを読み込むことで、自分でこれを行う必要があります。

私は、cluetipがrelロード機能によってこれをしないと仮定します。また、これは一般的には良いアイデアではありません、なぜあなたはこれをやろうとしていますか?

+0

Cluetipは、デフォルトでこれらのオプションを提供します。私はアプリケーションのユーザビリティを向上させるためにこれをやっています(E.G.ツールチップ内の入力フィールドのdatepicker)。なぜそれは良い考えではないでしょうか? –

+0

通常、ajax経由でjsファイルをインクルードして実行するのは悪い考えですが、通常はこれを行うより良い方法です。たとえば、datepickerを必要とするすべての入力にクラス 'datepicker'を追加します。 cluetip 'ajaxprocess'によって提供されたコールバックで、新しく追加されたhtmlの中の '.datepicker'を見つけ、それにdatepickersを追加します。 – mkoryak

関連する問題