click是最常見的點擊事件,但是對於移動終端,比如手機,一般都是以touch事件代替的,而click事件在手機也是生效的,只是會有1-2秒左右的延遲,那麼當你想要用click而非touch事件的時候,該如何處理事件綁定的呢,不用說,為了阻止事件冒泡,以及動態載入出來的DOM元素也綁定點擊事件,肯定...
click是最常見的點擊事件,但是對於移動終端,比如手機,一般都是以touch事件代替的,而click事件在手機也是生效的,只是會有1-2秒左右的延遲,那麼當你想要用click而非touch事件的時候,該如何處理事件綁定的呢,不用說,為了阻止事件冒泡,以及動態載入出來的DOM元素也綁定點擊事件,肯定是這樣使用的:
$('body').on('click','#btn',function(){ alert(1); })
好了,在pc瀏覽器模擬手機環境中測試沒問題,在安卓手機中實測也是沒問題,但是到了iPhone手機中,問題來了,他並沒有任何反應,也就是不會觸發alert事件,當你把click事件改成touch事件,就正常了。
但是,我的問題並不是如此,我touch綁定了其他事件,我就是要用click,怎麼辦,難道針對iPhone再寫一個點擊事件的代碼?那萬一你一套頁面中有很多點擊事件,豈不是要一個個的再寫,很累,解決辦法很簡單,我也是百度來的,只需要對你要點擊的那個目標,也就是#btn這個id加上一個css屬性,cursor:pointer,問題迎刃而解。
再試一下,iPhone和安卓都完美相容。