我不知道是否有人可以幫助我。我知道JS得很好,但我完全新的JQuery的...JQuery X/Y合作伙伴的圖像onclick()
我有正在被動態加載可見調用UpdateImage()
$.fn.image = function (src, f) {
return this.each(function() {
var i = new Image();
i.src = src;
i.onload = f;
this.appendChild(i);
});
}
function UpdateImage() {
$("#Screen").image("./AJAX/UI/GetImage.aspx", function() {
//alert('ok');
});
}
圖像加載後的圖像,我希望用戶能夠點擊它的任何位置並在AJAX調用中使用點擊的X/Y座標。
我知道如何在純JS做到這一點,但我的感覺,必須有一個更優雅的JQuery方法...
目前,我想這樣的:
$(document).ready(function() {
$("#Screen").click(function() {
alert(this.x + ', ' + this.y);
});
UpdateImage();
});
不幸的是,無論點擊位置如何,檢索到的X和Y都是恆定的。 (x:9,y:1019)。
問題:由於圖像幾乎是左上角的頁面上,我在Y值驚訝 - 這是什麼代表什麼呢?我認爲,如果它不是鼠標合作伙伴,它將是元素位置 - 但這看起來不正確 - 在這裏Y是積極的「向上」的方向,而不是下降(如我所料)?
我GOOGLE了,發現很多我認爲是矯枉過正的解決方案 - 它們適用於任何元素類型和依靠計算那麼,元件位置的鼠標光標位置,做一些數學 - 這看起來很不雅觀,而且容易出錯因爲它依賴於瀏覽器。
問題:我採取的方法是否正確?我應該使用JQuery UI小部件來顯示圖像嗎?爲了爭辯,假設圖像是一個ScreenShot,並且可能比瀏覽器窗口更大 - 我目前依靠瀏覽器進行滾動等,但是又懷疑可能有更好的方法?
總之,從一些JQuery的專家的任何建議,將不勝感激 - 特別是如果你能在一個良好的JQuery資源指向我(我發現手動但這是比較有用的方法簽名比對找出哪些方法使用JQuery時)
在情況下,它會影響你的反應是正確的,我使用的存儲圖像元素如下所示
<div id="Image"><img id="Screen"/></div>
非常感謝提前任何幫助,您可以提供。
噢,打是吧:P – 2010-09-01 01:01:30
該死。我試圖訪問e並沒有任何東西 - 我錯過了方法聲明中的e參數。謝謝你發現一個男生錯誤:) – Basic 2010-09-01 01:21:37
有時它只需要第二雙眼睛:-) – prodigitalson 2010-09-01 01:30:53