js中如何实在3秒后自动按下回车键

JavaScript020

js中如何实在3秒后自动按下回车键,第1张

如果能直接调用事件处理函数的,就不要模拟按键,这样更可靠一些,因为键盘事件可能会受当前焦点控件的不同而产生不同的效果.

下面是通过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.加了对回车的检测。如果想修改之前的编号中的内容,不能使用回车,否则同样达不到预期效果。