我在一個工具中允許人們使用jQuery雙擊並在HTML頁面的任何位置留下消息。它已經成爲消息定位的絆腳石。確定鼠標點擊位置的位置
的代碼,我此刻的測試:
$('body').bind('dblclick', function(e) {
var message = $('<div class="message">Form here</div>').css({
'left' : e.pageX,
'top' : e.pageY
});
$(this).append(message);
});
這將創建在鼠標點擊的位置,一個新的「消息」。雖然這在一定程度上起作用,但只要瀏覽器窗口重新調整大小,「消息」就會移出位置。由於我最終希望保存這些消息(並檢索它們),因此將它們加載到每個瀏覽器上的每個用戶的不同位置並不理想。即使該頁面使用媒體查詢,我也希望郵件附加到頁面佈局。
我對這個問題的理解是,我需要定位相對於用戶點擊的最近元素的消息。問題是。我如何?
任何提示或提示將不勝感激。
更新04/07/11
大多數的答案下面我有過的是不是真的,我追求的。我已經上傳了example of my page to JSfiddle向您展示我的設置。這裏的問題是使消息附加在相對位置,這樣當瀏覽器窗口重新調整大小時,消息隨着內容一起移動。
例如。如果我在頁面的第二段添加消息,不管瀏覽器/設備寬度如何,我都會將該消息粘貼到該段落。據我可以告訴我需要建立最近的塊級元素(或具有ID或類的元素),可以用來定位消息相對於。
希望清除問題&感謝您的所有建議。
忽略我的答案,我的dicklexic屁股沒有正確地閱讀這個問題。你想要做的是將交叉元素插入HTML頁面的最上面的元素。不是從瀏覽器計算X和Y,而是從最上面的元素中完成,這應該表示該框在調整大小時移動。 –