2016-02-17 18 views
0

作爲最後的手段,我正在尋求一個相當簡單的想法的建議......使用JQuery在iPhone上處理click | tap事件。有帖子的話題追溯到09年和最近,我在2013年已經找到......JQuery events + IPhone

目前我有使用任何Android 只是 JQuery的核心的點擊事件或臺式機沒有問題:


$(document).on("click", ".myEle", function(e) { 
    //generate new content with append() or prepend() 
}) 

一切都按預期工作,沒有麻煩,一切都是統一的:)

但是,我們往下走蘋果的路線和事情變得有點顛簸......按照他們的文檔https://developer.apple.com/library/ios/documentation/AppleApplications/Reference/SafariWebContent/HandlingEvents/HandlingEvents.html

鼠標事件在你所期望的在圖6-4所示的其它網頁瀏覽器相同的順序交付。如果用戶點擊不可點擊的元素,則不會生成事件。如果用戶點擊可點擊的元素,則按照以下順序到達:mouseover,mousemove,mousedown,mouseup和click。只有當用戶點擊另一個可點擊的項目時,纔會出現鼠標移出事件。另外,如果頁面內容在mousemove事件中發生更改,則不會發送序列中的後續事件。這種行爲允許用戶點擊新的內容。

在這裏我要澄清的是,我也看了一下:$(document).click() not working correctly on iPhone. jquery ......所以我有cursor: pointer上是點擊,使之成爲用戶和該文章中提到的噱頭最佳體驗所需的一切。

回到頁首,iOS Dev Library指出鼠標事件應該發生在可點擊元素上,但前面提到的$(document).on("click", ...)在多個iPhone 6上的iOS Safari上不會產生任何結果。使用這個小提琴工作SAME電話事件YET像預期一樣:http://jsfiddle.net/Gajotres/k8kSA/

  • 小提琴使用jQuery Mobile的1.2.0 ...
  • 小提琴可以更改爲.on("click",...),仍然作品
  • 小提琴不包括jquery核心,但移動取決於它!!!?

所以基本上我想繼續使用jQuery Core和我寧願不必使用任何其他庫,如以下望而卻步:

我想依靠任何Ø之前問這個問題它的庫,主要是 jQuery Mobile。感謝任何明白我的問題,並幫助程序員:)

回答

0

由於大量測試,我發現我正確地綁定了一切(爲什麼我甚至認爲要懷疑自己:P),並意識到它是iOS Safari支持ES6語法。我有各種各樣的letconst...(其餘參數),顯然對iOS Safari來說不夠好。一旦我將所有東西都替換成了好的'var的一切都已經解決了。