0

我有一个名为 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 语句。

4

1 回答 1

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/

但是,将 click 的事件处理程序抽象为参数化函数可能是个好主意,这样您就没有

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

 jQuery('#btnTwo').click(function(){
     //some similar code
 });     
 jQuery('#btnThree').click(function(){
     //some more similar code
 });
于 2012-04-27T18:37:12.463 回答