私はツールチップとして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を防ぐために、おそらく、すべてのスクリプト/スタイル/タイトルを削除し、なぜ私はわからないんだけどバグ。
Cluetipは、デフォルトでこれらのオプションを提供します。私はアプリケーションのユーザビリティを向上させるためにこれをやっています(E.G.ツールチップ内の入力フィールドのdatepicker)。なぜそれは良い考えではないでしょうか? –
通常、ajax経由でjsファイルをインクルードして実行するのは悪い考えですが、通常はこれを行うより良い方法です。たとえば、datepickerを必要とするすべての入力にクラス 'datepicker'を追加します。 cluetip 'ajaxprocess'によって提供されたコールバックで、新しく追加されたhtmlの中の '.datepicker'を見つけ、それにdatepickersを追加します。 – mkoryak