问题描述
|
嗨,我目前正在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\"] + \"\";
}
解决方法
不太确定,请尝试
onmouseover=\"getMouseXY\" onmouseout=\"getMouseOut\"/>
代替
onmouseover=\"getMouseXY()\" onmouseout=\"getMouseOut()\"/>