我试图在下面放置一个弹出 div:
<div style="display:none;height:200px;width:200px;border:3px solid green;" id="popup">Hi</div>
基于另一个div的点击。
我正在文档 .ready 上运行它
$('div#d').bind('click', function (event) {
var offset = $(this).offset();
$('#popup').css('left',offset.left);
$('#popup').css('top',offset.top);
$('#popup').css('display','inline');
});
但是上面甚至不会显示div
最佳答案
问题在于 offset() 没有返回正确的鼠标位置,请尝试使用 event.pageX 和 event.pageY 代替:
$(document).ready(function(){
$('div#d').bind('click', function (event) {
$('#popup').css('left',event.pageX); // <<< use pageX and pageY
$('#popup').css('top',event.pageY);
$('#popup').css('display','inline');
$("#popup").css("position", "absolute"); // <<< also make it absolute!
});
});
参见here .
关于jquery - 如何根据光标点击的位置定位弹出div,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9220141/