如何用jquery获取点击gridview中控件的鼠标坐标
今天有javascript代码,
function ShowDetail(olinkButton,id)
{
var url = "Detail.aspx?id="+id+"&catch="+(new Date()).getTime();
var x = window.event.clientX+document.documentElement.scrollLeft;
var y = window.event.clientY + document.documentElement.scrollTop;
//alert(x);
//alert(y);
//alert(url);
var fnCallBack=function(oResult)
{
//alert(oResult);
var oDivResult = document.getElementById("divResult");
var oDivContent = document.getElementById("divContent");
if (oDivContent)
{
oDivContent.innerHTML = oResult;
}
if (oDivResult)
{
oDivResult.style.display="block";
oDivResult.style.left = x;
oDivResult.style.top = y;
MyDragHandler.AttachDrag("divResult");
}
}
var fnLoading=function(){
}
Http.get(url,fnCallBack,fnLoading,null);
}
aspx页面代码
<asp:GridView ID="GridView1" runat="server">
<Columns>
<asp:BoundField DataField="Id" HeaderText="ID" SortExpression="Id" />
<asp:TemplateField HeaderText="档案编号" SortExpression="Human_no">
<ItemTemplate>
<asp:LinkButton ID="LinkButton1" runat="server" OnClientClick='<%# Eval("Id", "ShowDetail(this,{0});return false") %>'
Text='<%# Eval("Human_no") %>'></asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
<div id="divResult" style="border-right: #003399 1px solid; border-top: #003399 1px solid; border-left: #003399 1px solid; border-bottom: #003399 1px solid;width:408px;height:300px;position:absolute;display:none;background-color:White">
<div id="divTitle" style="width:100%;height:20px;font-size:large;font-weight:bold;color:Red;text-align:right;padding-right:5px;" ><span onclick="closeDiv()" style="width:10px;height:20px;cursor:pointer">X</span></div>
<div id="divContent"></div>
</div>
以上代码在ie中运行成功,效果:用javascript获取Detail.aspx的数据,显示在DivResult层(于gridview之上)中,并将divresult层的位置设为点击链接时的鼠标坐标,,但只适用于ie。
最近想用jquery转换,以适应多浏览器,
function ShowDetail(olinkButton, id) {
var url = "Detail.aspx?id=" + id + "&catch=" + (new Date()).getTime();
var fnCallBack = function(response) {
$("#LinkButton1").click(function(e) {
var e = e || event;
alert("x=" + e.clientX + ",y=" + e.clientY);
$("#divResult").css({ top: e.clientY, left: e.clientX });
})
$("#divContent").html(response);
$("#divResult").css("display", "block");
}
$.get("http://localhost:/Web/" + url, null, fnCallBack);
}
DivResult层获取数据成功,显示成功,但不能设定divResult层的位置,(它自动在最下面)请问如何将divResult层的位置设定为gridview之上,asp:LinkButton列之后