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.
其结果是,以ol-tip出现在点击标题:'测试',内容:'测试内容'和没有警报说'世界您好!'。 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默认提供这些选项。我这样做是为了提高我的应用程序的可用性(例如工具提示内的输入字段上的日期选择器)。为什么它不是一个好主意? – 2012-02-14 19:09:36
它通常是一个坏主意,通过ajax包含js文件并运行它们,它通常是一个更好的方法来做到这一点。例如:将一个类'datepicker'添加到所有需要日期选择器的输入。在cluetip'ajaxprocess'提供的回调中,在你新添加的html中找到'.datepicker'并添加datepickers。 – mkoryak 2012-02-14 20:50:22