您好我正在开发一个asp.net项目,我需要创建一个按钮,当用户将光标从左向右或从右向左移动时,将填充隐藏文本字段,然后调用dopostback在服务器端读取该隐藏字段的值。
我的问题是,当我创建事件监听器时,它不会调用,因此pageX不起作用。我目前正在使用Google Chrome浏览器进行测试,我已经在IE中测试了clientX部分并且运行良好。
这是cording的.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"] + "";
}
答案 0 :(得分:0)
不太确定,但请尝试
onmouseover="getMouseXY" onmouseout="getMouseOut"/>
而不是
onmouseover="getMouseXY()" onmouseout="getMouseOut()"/>