ポップアップのように 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 イベントを設定すると、イベント引数 ("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" が何であるかがわからないからです。私がやろうとしていることを達成する方法はありますか?