下面是通过WScript.Shell组件来模拟键盘按键事件的代码,但WScript.Shell可能需要较低的浏览器安全级别才可以正常工作.
<html>
<body>
<script type="text/javascript">
document.onkeydown = function(){
var oEvent = window.event
if (oEvent.keyCode == 13 ) {
alert("你按下了enter")
}
}
var WshShell = new ActiveXObject('WScript.Shell')
WshShell.SendKeys('{Enter}')
</script>
</body>
</html>
<script type="text/javascript" language=JavaScript charset="UTF-8">
document.onkeydown=function(event){
var e = event || window.event || arguments.callee.caller.arguments[0]
if(e &&e.keyCode==27){ // 按 Esc
//要做的事情
}
if(e &&e.keyCode==113){ // 按 F2
//要做的事情
}
if(e &&e.keyCode==13){ // enter 键
//要做的事情
}
}
</script>
只要你定义了这些键的动作,你在浏览器里按下这些键就会响应,兼容目前所有浏览器。
我做了一个jsp页面,里面有个搜索的功能,搜索是一个放大镜模样的图片,我给了个链接去执行函数,具体代码是:<span onclick="_search()"><img src="images/search.gif" border="0">现在用鼠标点这个搜索图片是没问题的
有搜索条件输入框不?
有的话就在输入框加上onkeypress="if (event.keyCode == 13) _search()"
没有的话就给body加上面这段
<SCRIPT language="javascript">var count =1
var initFlag = false
function next()
{
if(count ==1&&!initFlag)
{
initFlag = true
txt.value ="1."
}
if(event.keyCode==13)
{
count++
txt.value =txt.value.concat("\r\n").concat(count+".")
window.event.keyCode = 0
window.event.returnValue= false
}
}
</SCRIPT>
<textarea name="13" id="txt" cols="" rows="" style="height:100px" onKeyDown="next()"></textarea>
结果:
1.问题1
2.问题2
3.
BUG:
1.回车后自动生成的编号,删除后不会回溯。
2.加了对回车的检测。如果想修改之前的编号中的内容,不能使用回车,否则同样达不到预期效果。