2012-07-02 101 views

回答

8

您可以使用clientX或pageX屬性,看here

+11

是的,我明白了,謝謝。我找到了一種獲得e.offsetX的方法。 e.offsetX = e.touches [0] .pageX - e.touches [0] .target.offsetLeft; e.offsetY = e.touches [0] .pageY - e.touches [0] .target.offsetTop; 我認爲它與e.offsetX – EasonBlack

+1

相同這不會考慮元素上的任何變換,如旋轉或縮放,就像offsetX一樣。看起來,offsetX在變換之前給出元素本地座標系中的座標。 – tremby

1

正在對使用綁定元素canvas對jQuery的.on功能事件處理類似的問題(不知道的原因)。

我使用addEventListener通過綁定事件處理程序來解決它。處理程序中的event對象具有使用適當值定義的offsetX和offsetY。

希望它可以幫助...

+0

你可以進入更多的細節? – tremby

+0

@tremby你想知道什麼具體內容? – Shubhansh

+0

我只是不明白你的答案。據我所知,至少根據規範,「Touch」對象沒有'offsetX'和'offsetY'。你的答案表明你確實得到了他們,我想知道如何。 – tremby

9

基於在建議答覆的意見正確答案:

e.offsetX = e.touches[0].pageX - e.touches[0].target.offsetLeft;  
e.offsetY = e.touches[0].pageY - e.touches[0].target.offsetTop; 

這忽略任何轉換,如旋轉或縮放。另外請務必檢查是否有任何接觸。

相關問題