- 'pageY' : touch.pageY,\r
- 'offsetX' : touch.offsetX, // 要素上の座標を取得 \r
- 'offsetY' : touch.offsetY,\r
+ 'pageY' : touch.pageY, \r
+ // iOS4 以下では clientX が undef, pageX から scrollLeft を引く.\r
+ // TODO getter にする?\r
+ 'clientX' : isNum( touch.clientX ) ? touch.clientX : ( touch.pageX - X_ViewPort_scrollX ),\r
+ 'clientY' : isNum( touch.clientY ) ? touch.clientY : ( touch.pageY - X_ViewPort_scrollY ),\r
+ // 要素上の座標を取得\r
+ // iOS8 でも offsetX が undef, iOS4 以下では pageX - offset.x, iOS5 以上は clientX - getBCR.left\r
+ // TODO getter にする?\r
+ 'offsetX' : isNum( touch.offsetX ) ? touch.offsetX : touch[ X_Dom_Event_coordinateSystemForElementFromPoint + 'X' ] - ( offset.x || offset.left || 0 ), \r
+ 'offsetY' : isNum( touch.offsetY ) ? touch.offsetY : touch[ X_Dom_Event_coordinateSystemForElementFromPoint + 'Y' ] - ( offset.y || offset.top || 0 ),\r