Tôi đang làm việc trên một ứng dụng cho phép gắn thẻ trực tiếp trên ảnh bằng cách nhấp (như Facebook, flickr, et al). Tuy nhiên, tôi dường như không thể đăng ký tọa độ phù hợp cho một nhấp chuột lên ảnh. Vấn đề là tọa độ x có vẻ là khoảng cách x tuyệt đối của một lần nhấp trong cửa sổ trình duyệt (chứ không phải trong ảnh), trong khi toạ độ y thường âm hoặc cực nhỏ (âm gần đầu, nhỏ gần phía dưới). Đây là những giá trị tôi nhận được khi nhấp vào gần góc trên cùng bên trái (nên đăng ký là ở gần hoặc gần 0: "x" => "219", "y" => "- 311" ... 219 dường như đúng khi đo khoảng cách từ phía bên trái của cửa sổ trình duyệt, nhưng khoảng cách phải nằm trong khu vực ảnh)Nhận vị trí chính xác cho một nhấp chuột lên hình ảnh được liên kết bằng cách sử dụng jquery
Tôi hiện đang nắm bắt các sự kiện và tọa độ nhấp vào ảnh bằng liên kết thông thường (liên kết chứa dữ liệu ảnh có liên quan khác) và thực hiện phép toán (cùng các phép tính được sử dụng trong các tài liệu jquery) trước khi chuyển nó sang ứng dụng đường ray của tôi. Tôi nghi ngờ phương pháp có nhiều để làm với các giá trị sai lầm, mặc dù tôi nghi ngờ toán học hoặc một số quirk quirk có thể có lỗi. Trong cả hai trường hợp, tôi hoàn toàn boggled.
JS:
$(document).ready(function(){
clickTag();
});
function clickTag(){
$("#taggable").click(function(e){
var x = e.pageX - this.offsetLeft;
var y = e.pageY - this.offsetTop;
var url = $(this).attr("href");
courl = url + '&x=' + x + '&y=' + y;
$.ajax({
type:"GET",
url: courl,
dataType:"script"
});
return false;
});
}
CSS:
`<div class="content">
<div id="image_container" style="position:relative;width:405px;float:left;height:600px;>
<a href="/tags/new_xy?look_id=188&photo_id=1150" id="taggable" style="position:relative;top:0;left:0px;"><img alt="taggable_image" src="taggable_image.jpg" /></a>
<div class="tags" id="tags"></div>
</div>
</div>`
giờ, điều này dường như giải quyết nó cho giá trị x, mặc dù giá trị y vẫn là số âm. {"x" => "1", "y" => "- 602"} – Optimate
thử xuất e.pageY và $ (this) .offset(). để xem cái nào không đúng, có thể giúp giải quyết điều này –
Ngoài ra, bạn có thể đăng bất kỳ css nào ảnh hưởng đến hình ảnh và cha mẹ của nó –