嗨,我目前正在处理一个 asp.net 项目,我需要制作一个按钮,当用户将光标从左向右或从右向左移动时,会填充隐藏的文本字段,然后为服务器端调用 dopostback读取该隐藏字段的值。
我的问题是,当我创建它不调用的事件侦听器时,因此 pageX 不起作用。我目前正在 Google chrome 浏览器上进行测试,我已经在 IE 中测试了 clientX 部分并且运行良好。
这是绳索的 .aspx 侧
<asp:Button ID="Button2" runat="server" Text="<<<------ ------>>>"
Width="50%" Height="60px" onclick="Button2_Click"
onmouseover="getMouseXY()" onmouseout="getMouseOut()"/>
<script type="text/javascript">
var IE = document.all?true:false;
var dayD = 0;
var inCordX = 0;
var outCordX = 0;
if (!IE)
document.captureEvents(Event.MOUSEMOVE)
function getMouseOut(e){
if (IE) {outCordX = event.clientX + document.body.scrollLeft;}
else {outCordX = e.pageX;}
if(inCordX>outCordX){dayD=1;}else{dayD=-1;}
document.getElementById("outputResult").value = dayD;
__doPostBack("","");
}
function getMouseXY(e) {
if (IE) {inCordX = event.clientX + document.body.scrollLeft;}
else {inCordX = e.pageX;}
alert(inCordX);
return true;
}
</script>
这是编码 aspx.cs
protected void Page_Load(object sender, EventArgs e)
{
if ((Request.Form["outputResult"] == "-1")
||(Request.Form["outputResult"] == "-1"))
{
Button2_Click(this, new EventArgs());
}
}
protected void Button2_Click(object sender, EventArgs e)
{
Button2.Text = Request.Form["outputResult"] + "";
}