jQuery的移動支持這些事件:如何通過jquery-mobile獲取點擊事件的位置/座標?
http://jquerymobile.com/demos/1.0a3/docs/api/events.html
我怎麼敲打事件(例如圖像內)的位置在移動設備上?
$('#myimg').bind('tap', function(e){
var x = ???;
var y = ???;
alert([x, y]);
})
jQuery的移動支持這些事件:如何通過jquery-mobile獲取點擊事件的位置/座標?
http://jquerymobile.com/demos/1.0a3/docs/api/events.html
我怎麼敲打事件(例如圖像內)的位置在移動設備上?
$('#myimg').bind('tap', function(e){
var x = ???;
var y = ???;
alert([x, y]);
})
我不知道關於jQuery Mobile的,但我只是想在畫布演示頁我在我的iphone ...你只要按一下,並繪製圓和它工作正常。
,我只是使用e.pageX和e.pageY喜歡的人上面說
function getCursorPosition(e) {
var x;
var y;
if (e.pageX != undefined && e.pageY != undefined) {
x = e.pageX;
y = e.pageY;
}
else {
x = e.clientX + document.body.scrollLeft +
document.documentElement.scrollLeft;
y = e.clientY + document.body.scrollTop +
document.documentElement.scrollTop;
}
x -= Ccanvas.offsetLeft;
y -= Ccanvas.offsetTop;
var Point = {
x: x,
y: y
};
return Point;
}
爲什麼你不會得到pageX屬性& pageY的原因是,你不包含任何touchcancel事件座標信息(畢竟它是非觸摸的)。這不是一個真正的點擊或點擊,而是一個觸摸事件,沒有移動(超過閾值)並且足夠快。
我使用的jQuery的touchswipe插件時遇到同樣的事情,必須通過存儲在touchstart事件的協調和檢索它的取消一個能夠提取座標來解決它。
你會想這些的啓動事件保存(在jQuery Mobile的「vmousedown」):
event.touches[0].pageX
event.touches[0].pageY
此外,在移動設備上,你應該window.devicePixelRatio
乘以座標,以獲得準確的在屏幕上的位置。
不知道,但它的e.pageX,e.pageY基於web基礎jquery – Val 2011-02-14 13:12:57
我知道,這就是爲什麼我問,它不工作;-)我也檢查了jquery移動源,但還沒有發現它是如何應該工作。我無法想象事件中不會提供座標。 – Erik 2011-02-14 13:22:33