在JavaScript中可以得到一些用户操作信息,如点击鼠标键,敲击键盘,移动鼠标等。我给出了获得这些用户操作信息的一个例子代码。值得一提的是我们在JS中可以写document一些方法,不可以写window的方法,Firefox中可以对window的方法进行操作。今天写例子时用的是window结果 Firefox正常,而IE不能正常显示。
<%@ Page Language="C#" AutoEventWireup="true" CodeFile="Default.aspx.cs" Inherits="_Default" %>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
<head runat="server">
<title>Untitled Page</title>
<script type="text/javascript">
function init() {
document.onkeydown = showKeyName;
document.onmousemove = doSomething;
document.onmousedown = mouseClick;
}
function doSomething(e) {
var txt2 = document.getElementById("Text2");
var txt1 = document.getElementById("Text1");
var posx = 0;
var posy = 0;
if (!e) var e = window.event;
if (e.pageX || e.pageY) {
posx = e.pageX;
posy = e.pageY;
}
else if (e.clientX || e.clientY) {
posx = e.clientX + document.body.scrollLeft
+ document.documentElement.scrollLeft;
posy = e.clientY + document.body.scrollTop
+ document.documentElement.scrollTop;
}
txt2.value = posx;
txt1.value = posy;
}
function showKeyName(e) {
var code;
if (!e) var e = window.event;
if (e.keyCode) code = e.keyCode;
else if (e.which) code = e.which;
var character = String.fromCharCode(code);
alert('Character was ' + character);
}
function mouseClick(e) {
var rightclick;
if (!e) var e = window.event;
if (e.which) rightclick = (e.which == 3);
else if (e.button) rightclick = (e.button == 2);
alert('Rightclick: ' + rightclick); // true or false
}
</script>
</head>
<body οnlοad="init();">
<form id="form1" runat="server">
<div id="divTest">
This field will only accept numbers:<br/>
<input id="Text2" type="text" />
<input id="Text1" type="text" />
<input type="text" name="txtPostalCode" οnkeypress="if(!isNS4){if(event.keyCode < 45 || event.keyCode > 57) event.returnValue = false;}else{if(event.which < 45 || event.which > 57) returnfalse;}" />
<input type="text" name="txtPostalCode2" οnkeypress="showKeyName()" />
</div>
</form>
</body>
</html>