ios,android和javascript的UI事件機制

方健發表於2014-09-04

先上參考文獻:
1. http://wenku.baidu.com/view/20ae5b936bec0975f465e2f6.html
2. http://www.cnblogs.com/hh54188/archive/2012/02/08/2343357.html
3. http://blog.csdn.net/guolin_blog/article/details/9153747
4. http://www.infoq.com/cn/articles/android-event-delivery-mechanism
5. http://ryantang.me/blog/2013/12/07/ios-event-dispatch-1/
6. http://www.cnblogs.com/sunzn/archive/2013/05/10/3064129.html 7. http://grepcode.com/file/repository.grepcode.com/java/ext/com.google.android/android/4.4.4_r1/android/view/View.java?av=f
8. http://files.cnblogs.com/sunzn/PRE_andevcon_mastering-the-android-touch-system.pdf
9. https://github.com/devunwired/custom-touch-examples
下面來說事件機制。
10. http://developer.android.com/reference/android/view/TouchDelegate.html
11. TouchDelegate Example

Javascript

javascript中的事件,首是進入捕獲階段,直到達到目標元素,再進入冒泡階段。
所謂捕獲, 就是 父元素=>子元素。
所謂冒泡, 就是 子元素=>父元素。
可以阻止冒泡往上傳播。 http://stackoverflow.com/questions/4735006/javascript-how-to-enable-stoppropagation

Android

第一階段, 父元素=>子元素 可以攔截 onInterceptTouchEvent
第二階段, 子元素=>父元素 可以消費 onTouchEvent {return true} 消費後不再分發
* TouchDelegate :讓view的勢力範圍比身板大 ,交給“老爸”處理。

ios

子元素=>父元素 目標元素先收到事件。自己負責呼叫下一個響應者。[[self nextResponder]touchesBegan:toucheswithEvent:event];

相關文章