jQuery的on綁定事件在mobile safari(iphone / ipad / ipod)上沒法使用的解決方案

用一個div當作了一個按鈕來使用。css

 

<div class="button">
    <div class=" next_button button_left btn_red" style="width: 345px;">
    下一步
    </div>
</div>

由於是動態添加的內容,因此想要使用click事件,須要給他用on綁定一下:html

$(document).on("click",".next_button",function(){
    alert();
});

這個時候,使用蘋果手機訪問的時候,發現了一個坑爹的問題,如論如何點擊「下一步」,都沒有任何反應,但是在安卓和各類模擬器中一切正常。後來通過查找資料才知道,蘋果有這麼個設置: 
對於點擊的對象,擁有cursor:pointer這個樣式的設置,也就是說,鼠標放上去,可以出現「手」型的圖標才被認做可使用點擊事件,因而果斷增長了樣式jquery

<style>
    .next_button{
        cursor:pointer
    }
</style>

 

緣由:web

冒泡事件是標準存在的,jquery的on事件也是沒有問題。 問題出在,你要給你的dom寫一個css樣式 cursor:pointer 由於safari認爲這纔是一個可點擊區域,這樣表達更加友好,纔會讓你能夠click,你才能夠點擊,你才能夠綁定。 又或則你是一個<a>標籤,而後<a>標籤裏面只有是<img>標籤,你的<a>標籤用on綁定click事件也是能夠的,其餘的標籤都被無視click了。 又或則你用tap事件,又或則你直接仿寫click,摁下超過300毫秒再觸發都是能夠的。 但願個人答案能夠幫助到其餘開發web移動端的小夥伴
做者:bo Bo 連接:https://www.zhihu.com/question/23689377/answer/48964971 來源:知乎 著做權歸做者全部,轉載請聯繫做者得到受權。
相關文章
相關標籤/搜索