我無法在Safari(以及iOS設備上)中使用適用於Firefox,Chrome,Edge和IE的東西。點擊處理程序不會觸發在Ajax回調中呈現的元素 - 僅在Safari中
在我的頁面上有一個輸入字段,將輸入發送回服務器,並在服務器創建此元素後將元素添加到dom(將其視爲與服務器端呈現搜索結果的複雜組合框)。
了加頁此DOM元素包含了這樣一個
<a href="" class="stampOption">Search result 1</a>
可點擊的鏈接。由於沒有人知道有多少這樣的鏈接將出現在頁面上,我對這樣的文件登記AA點擊處理程序:
的$(document)。在( 「點擊touchstart挖掘」 功能(EVT){
if ($(evt.target).hasClass("stampOption")) {
some code...
});
雖然這是我到目前爲止測試的所有瀏覽器,點擊細漢dler從未在Safari中被調用過。
我試過幾種選擇像委派事件(這也似乎在Safari/iOS的問題),像這樣:
$(document).on("click touchstart tap", ".stampOption", function(evt) {
。我應用了遊標:指針CSS技巧以及在SO和其他地方建議的onclick =「」技巧。
我也確保沒有其他的點擊事件處理程序可以防止冒泡等。
因此,任何想法我可以嘗試什麼?
嘗試給href一個'#',並防止鏈接的默認操作 - 我認爲safari可能有一個鏈接沒有href – Pete
+皮特不幸,這doesn沒有幫助。 href沒有被導航到,並且點擊處理程序根本沒有被調用。就像從前一樣。 –