0

嗨,我目前正在处理一个 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"] + "";
    }
4

1 回答 1

0

不太确定,但试试

  onmouseover="getMouseXY" onmouseout="getMouseOut"/> 

代替

  onmouseover="getMouseXY()" onmouseout="getMouseOut()"/> 
于 2011-06-11T23:08:05.763 回答