我正在尝试像弹出窗口一样打开一个 div,但是当它触发 onclick 事件时,它以鼠标所在的位置为中心。为了获得鼠标位置,我一直在关注这个例子
http://docs.jquery.com/Tutorials:Mouse_Position
jQuery(document).ready(function(){
$("#special").click(function(e){
$('#status2').html(e.pageX +', '+ e.pageY);
});
})
在该示例中,单击功能设置为客户端。但是,在我的场景中,我将在服务器端将 onclick 函数设置为许多动态创建的对象。我还将向我的函数添加一个参数,该参数对于创建的每个对象都是唯一的。
我面临的问题是,当我设置不使用 JQuery 的 onclick 事件时,我似乎无法获得 eventargs(“e”)。
最终,我试图实现的简化示例如下所示:
<div id="divSubscription" style="display: none; height: 0px; width: 0px; position: absolute;">some content</div>
<input type="button" id="btnOpenPopup" value="Open" onclick='openPopup(8, e)' />
function openPopup(subID, e) {
var x = e.pageX;
var y = e.pageY;
$("#divSubscription").css("top", y);
$("#divSubscription").css("left", x);
$("#divSubscription").css("display", "block");
$("#divSubscription").animate({ height: "400px", width: "400px" }, 300, "swing");
$("#divSubscriptionContent").html(subID);
}
显然,这是行不通的,因为它不知道“e”是什么。有什么办法可以完成我想做的事情吗?