pageX属性和pageY没有工作,但不会抵消

问题描述:

我有从JQuery的pageX属性和pageY没有工作,但不会抵消

pageXpageY问题

我打电话从我的HTML命名clickOnImage的方法,像这样:JQuery的

<img id="irrelevant" src="beispielbild1.png" onClick="clickOnImage(this);"/> 

,然后通知我(如想)2个偏移值,但不是pageX和pageY值。 这是说undefined

function clickOnImage(img) { 
    var offsetTop = $(img).offset().top; 
    var offsetLeft = $(img).offset().left; 
    var positionTop = $(img).pageX; 
    var positionLeft = $(img).pageY; 
    alert(offsetTop); 
    alert(offsetLeft); 
    alert(positionTop); 
    alert(positionLeft); 
} 

我在这里错过了什么吗?

+0

我不认为pageX属性/ pageY适用于元素,只有事件,看到http://api.jquery.com/event.pagex/ – Ryan 2014-09-05 10:57:38

pageX和pageY不是jQuery中的方法,它们是事件对象的属性。你可以这样做:

$(function() { 
    $("#irrelevant").on("click", function(e) { 
     var offsetTop = $(this).offset().top; 
     var offsetLeft = $(this).offset().left; 
     var positionTop = e.pageX; 
     var positionLeft = e.pageY; 
     alert(offsetTop); 
     alert(offsetLeft); 
     alert(positionTop); 
     alert(positionLeft); 
    }); 
}) 
+0

没有我不能这样做,因为我有很多图像,不同的ID:/ – CodeFanatic 2014-09-05 10:58:49

+0

然后只需改变选择器,例如用类:$(“。myClass”)。on ... – Esko 2014-09-05 10:59:28

+0

最早的,im允许在html中修改的东西是这部分:onClick =“clickOnImage(this);”/> – CodeFanatic 2014-09-05 10:59:52