今天碰到的一個比較煩人的問題是,在body上添加事件處理函數,發現在iphone上怎麼也沒辦法觸發事件,找了半天,發現iPhone處理冒泡事件的規則: 1.點擊某個元素; 2.如果這個元素上沒有處理該事件,則繼續向上冒泡,直到body下的子節點為止。如果此時還是沒有元素處理這個事件,則丟棄該事件,不 ...
今天碰到的一個比較煩人的問題是,在body上添加事件處理函數,發現在iphone上怎麼也沒辦法觸發事件,找了半天,發現iPhone處理冒泡事件的規則:
1.點擊某個元素;
2.如果這個元素上沒有處理該事件,則繼續向上冒泡,直到body下的子節點為止。如果此時還是沒有元素處理這個事件,則丟棄該事件,不再向上冒泡;
3.如果在這條冒泡鏈當中,有一個元素處理了該事件,則事件還會一直向上冒泡,直到window。
所以就需要在body的某個子節點添加一個空的事件處理函數
$('body').children().click(function(){ // 不添加任何代碼 })