基于JavaScript的鼠标HOOK,适时获取鼠标坐标。运行本代码后,在本页窗口上移动鼠标,在状态栏上会显示出鼠标的各项位置参数,比如X/Y坐标,点击鼠标时,信息会定格,再此点击,则重新HOOK,一般情况下,貌似不怎么用,不过在编写网页游戏的时候,这功能就实用了。 演示: <HTML> <HEAD> <TITLE>得到鼠标坐标,HOOK</TITLE> <SCRIPT LANGUAGE="JavaScript1.1"> var keys = ''; var change = true; var x1, x2, y1, y2; function enableEffects(ev) { if(change) { if(document.layers) { x1 = ev.screenX; y1 = ev.screenY; document.captureEvents(Event.MOUSEMOVE); } else { x1 = event.screenX; y1 = event.screenY; } document.onmousemove = showXY; } else { if (document.layers) { x2 = ev.screenX; y2 = ev.screenY; document.releaseEvents(Event.MOUSEMOVE); } else { x2 = event.screenX; y2 = event.screenY; document.onmousemove = null; } window.status = 'Start: (' + x1 + ',' + y1 + ') End: (' + x2 + ',' + y2 + ') Distance: ' + (Math.abs((x2 - x1) + (y2 - y1))) + ' pixels'; } change = !change; } function showKeys() { if (keys != '') { alert('You have typed: ' + keys); window.status = keys = ''; } else { alert('You have to type some keys first.'); } } function showXY(ev) { if (document.all) { ev = event; } window.status = 'X: ' + ev.screenX + ' Y: ' + ev.screenY; } function keepKeys(ev) { if (document.layers) { keys += String.fromCharCode(ev.which); window.status = 'Key pressed: ' + String.fromCharCode(ev.which); } else { keys += String.fromCharCode(event.keyCode); window.status = 'Key pressed: ' + String.fromCharCode(event.keyCode); } } </SCRIPT> <SCRIPT LANGUAGE="JavaScript1.1"> <!-- document.onclick = enableEffects; document.onkeypress = keepKeys; //--> </SCRIPT> </HEAD> <BODY BGCLOR=WHITE> Click your mouse button, then move it around, click again to stop tracking. <BR><BR><BR><BR><BR><BR> Now type some keys.... any keys. Then press <B>Show Keys</B><BR> <FORM><INPUT TYPE=BUTTON VALUE="Show Keys" onClick="showKeys();"></FORM> </BODY> </HTML><br /><center>如不能显示效果,请按Ctrl+F5刷新本页,更多网页代码:<a href='http://www.veryhuo.com/' target='_blank'>http://www.veryhuo.com/</a></center>提示:可修改后代码再运行! 文章导航 基于jquery、带动画效果的网页操作小例子pyramid使用jQuery加DIV实现动态添加的金字塔结构