2009-12-21 31 views
0

我想从javascript调用默认的keydown事件处理程序。可能吗?Javascript:调用默认的keydown事件处理程序

+1

什么是默认值keydown事件处理程序?什么元素?为什么? – Marius 2009-12-21 11:10:37

+1

不是100%相同,但相关SO张贴在这里:http://stackoverflow.com/questions/202285/trigger-a-keypress-with-jquery-and-specify-which-key-was-pressed – 2009-12-21 11:11:51

+0

>> Not 100%相同,但相关SO张贴在这里:stackoverflow.com/questions/202285/ okw,谢谢。 – 2009-12-21 11:16:34

回答

2

如果事件有一个明确的事件处理程序,你可以直接调用它:

// Precondition - the element has an explicit handler registered 
element.onkeydown(); 

否则,有没有办法明确地告诉浏览器做“它无论如何都会做。”发生这种情况的唯一方法是不要阻止事件冒泡 - 如果要设置超时时间并允许事件继续,那么这实际上是一种痛苦,但实质上这是不可能的。

但是,在大多数情况下,您可以在事件处理函数上调用您自己的代码,并让keyDown事件继续浏览器。如果这不可能出于任何原因,您通常可以编写自己的方法来模拟事件的效果(例如,更改输入字段的内容,提交表单等)

0

没有默认的keydown事件。当按键在任何表单元素上按下时,按下按键事件,紧接着按键事件,以及输入值时文本框上的textInput事件可能发生。然后在释放密钥时生成密钥事件 以下示例显示使用onKeyDown事件处理程序在文本框中显示消息。

<body><form action="" method="POST" id="myForm"><input type="text" name="myText" onKeyDown="changeVal()"><script type="text/javascript" language="JavaScript">s1 = new String(myForm.myText.value)function changeVal() { s1 = "You pressed a key" 
myForm.myText.value = s1.toUpperCase() }</script></form></body> 
相关问题