2012-02-14 62 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. 

其結果是,以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刪除所有腳本/風格/標題,可能防止錯誤。

回答

1

腳本通常不會通過jquery的ajax抓取加載。您通常必須通過$ .getScript()或通過查找腳本元素並自行加載腳本來完成此操作。

我認爲cluetip不會通過它的rel加載功能爲你做這件事。此外,這通常不是一個好主意,你爲什麼要這樣做?

+0

Cluetip默認提供這些選項。我這樣做是爲了提高我的應用程序的可用性(例如工具提示內的輸入字段上的日期選擇器)。爲什麼它不是一個好主意? – 2012-02-14 19:09:36

+0

它通常是一個壞主意,通過ajax包含js文件並運行它們,它通常是一個更好的方法來做到這一點。例如:將一個類'datepicker'添加到所有需要日期選擇器的輸入。在cluetip'ajaxprocess'提供的回調中,在你新添加的html中找到'.datepicker'並添加datepickers。 – mkoryak 2012-02-14 20:50:22