こんにちは、私は現在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"] + "";
}