使onKeyDown触发HTML按钮的onClick事件

时间:2012-04-27 18:25:00

标签: javascript html javascript-events

我有一个名为Calculator的基本HTML表单,其中包含一个名为“btnOne”的按钮。我想要的是当用户按下键盘上的“1”键时,“btnOne”HTML按钮的onClick事件发生。

为了尝试完成此操作,我将此函数放在我的文档的Head标记中:

<head>
     <SCRIPT LANGUAGE="JavaScript"> 

         //other functions...

        document.onkeydown = function(e){
            if (!e) e = window.event;
            if(e.keycode == '49') {
                document.Calculator.btnOne.click();
            }
            return false;
        }
      </SCRIPT>
</head>

我只是把这个片段放在错误的位置?还有什么我需要做的才能使功能运行?我真的是网络开发的初学者,不知道我在做什么!当然,一旦我弄明白如何让这个按钮工作,我将为所有其他按钮添加if语句。

1 个答案:

答案 0 :(得分:2)

查看http://api.jquery.com/category/events/以便更简单,更清晰地编写此方法。你所拥有的基本上是正确的,尽管你最好将它包装在一个文档就绪事件中,以便事件在 dom加载后绑定

使用jQuery,您的代码看起来像这样

jQuery(function() {
    jQuery(window).keypress(function(e){
         if (e.which === 49) {
               jQuery("#btnOne").click();
         }
    });
})

这是一个正在运作的JS Fiddle,它将展示这个

http://jsfiddle.net/HXYAD/

然而,将点击事件处理程序抽象出参数化函数可能是一个好主意,这样你就没有了

 jQuery('#btnOne').click(function(){
     //some code
 });

 jQuery('#btnTwo').click(function(){
     //some similar code
 });     
 jQuery('#btnThree').click(function(){
     //some more similar code
 });