Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 在OnClick事件中获取相对于控件的鼠标单击位置_C#_Asp.net - Fatal编程技术网

C# 在OnClick事件中获取相对于控件的鼠标单击位置

C# 在OnClick事件中获取相对于控件的鼠标单击位置,c#,asp.net,C#,Asp.net,我有这个项目清单: <asp:BulletedList ID="BLLinks" runat="server" Width="100%" BulletStyle="CustomImage" BulletImageUrl="~/Images/link.png" OnClick="BLLinks_Click" ></asp:BulletedList> 您可以使用客户端代码获取鼠标位置,并将其存储在隐藏字段中 以下是标记: <asp:HiddenField ID="

我有这个项目清单:

<asp:BulletedList ID="BLLinks" runat="server" Width="100%" 
BulletStyle="CustomImage" BulletImageUrl="~/Images/link.png" 
OnClick="BLLinks_Click" ></asp:BulletedList>

您可以使用客户端代码获取鼠标位置,并将其存储在隐藏字段中

以下是标记:

<asp:HiddenField ID="hiddenMouseXY" runat="server" />
<asp:BulletedList onmousedown="bulletedListMouseDown(this, event);" ... >
    ...
</asp:BulletedList>

如果希望单击触发回发,可以在Javascript函数中调用
\uuu doPostBack

有一种方法可以使用客户端代码获取鼠标的(x,y)位置,并将其存储在隐藏字段中。但是,单击不会触发回发,除非BulletedList具有
DisplayMode=“LinkButton”
。我不知道鼠标坐标在那种情况下是否仍然有用。谢谢你的回答。我会尽快试一试
<asp:HiddenField ID="hiddenMouseXY" runat="server" />
<asp:BulletedList onmousedown="bulletedListMouseDown(this, event);" ... >
    ...
</asp:BulletedList>
function bulletedListMouseDown(lst, evt) {
    var x = evt.pageX - lst.offsetLeft;
    var y = evt.pageY - lst.offsetTop; 
    var coord = "X: " + x + ", Y: " + y;
    alert(coord);
    document.getElementById('hiddenMouseXY').value = coord;
}