天天看點

自動建立的a标簽并使用js點選,在Andorid端好用但在IOS端不好用            'undefined' is not a function evaluating XX.click() in Safari

先上出現問題的代碼:

稍微解釋下,這裡在點選之後再remove可能有的人會有疑問,既然跳轉了為啥還要remove。這是因為我這裡使用了sui的路由功能,跳轉之後緩存資源不重新整理。

這段代碼在ios端不能正常運作報一個這樣的錯誤:

這就尴尬了,趕緊上網查,查到這個東西:

     https://stackoverflow.com/questions/12744202/undefined-is-not-a-function-evaluating-el-click-in-safari#

     雖然沒有完全看懂,但是也明白個大概齊:他說:“ the <code>click()</code> function is only defined for <code>HTMLInputElement</code>”

     并給出了改進意見,根據他的改進意見作出如下改動:

然而并不好使,起初我是懷疑這個改動不對,但是後來發現不是這樣的,在IOS裡click的滑鼠事件應該有touchstart,touchmove、touchend等觸摸事件或者他們的進階事件來觸發點選螢幕這個事件。是以我又作出如下改動:

這裡加三個方法在html上,主要是為了規避由于路由問題從别的界面切換過來的時候,事件綁定不上的問題。

引用資料(非常感謝):

      https://www.cnblogs.com/irelands/p/3433628.html

      http://www.cnblogs.com/dolphinX/archive/2012/10/09/2717119.html

      https://www.cnblogs.com/fengfan/p/4506555.html

      http://blog.csdn.net/jiangcs520/article/details/17564065

繼續閱讀