我想用Javascript中的可移動點使用Highcharts實現一個線圖。 使用最新的Chrome瀏覽器,一切都按預期工作。 但是,當我在iPhone或iPad上查看時,可移動點根本無法移動。iPhone/iPad觸摸事件Javascript LineChart
這是由於在移動Safari中處理鼠標事件的原因。
mousedown
變得touchstart
,mousemove
變得touchmove
等
我想所有的touchevents映射到相應的移動等價的,但沒有成功。這些點可以拖動,但視圖不更新......
Chrome的工作版本:http://jsfiddle.net/MTyzv/3/
移動Safari瀏覽器版本:http://jsfiddle.net/MTyzv/7/
UPDATE
好吧,我將問題範圍縮小下來有點... 看起來好像所有的觸摸事件都是正確處理的,但是一旦它們移動,點就會跳到0.0。除此之外,圖形在初始觸摸後不會「重繪」。 查看小提琴的更新版本http://jsfiddle.net/MTyzv/11/
非常感謝,不敢相信我錯過了。 – alex
小心!根據這個最近的錯誤https://code.google.com/p/chromium/issues/detail?id=179711 Chrome不會在窗口中傳遞關鍵的ontouchstart測試'var hasTouch ='ontouchstart',聲稱該事件存在,禁用鼠標拖動。讓我難住了一段時間... –
我不認爲這是一個錯誤。觸摸屏的臺式電腦越來越多。這就是爲什麼桌面瀏覽器也支持觸摸事件的原因。但是,請記住,當您檢測到觸摸事件時,您不應忽視鼠標事件! – slawekkolodziej