3

在 JSF 1.2 中,我正在使用 h:commandButton type="button" 但是当我点击它并按 enter 时按钮不会触发。我尝试使用onkeypress="keyEnter(event)"

     function keyEnter(eve){
         if (eve.keyCode == 13) {
              document.getElementById(eve.target.id).click();
          }
          return false;
      }

并在按下回车键时触发按钮。现在这是我的问题,我有许多带有按钮类型的 h:commandButton 元素,我该怎么做才能对按钮类型的所有元素实现 keyEnter(eve)?

提前致谢。

4

4 回答 4

3

试试这个

完整代码

function keyEnter(eve){
    var key = eve.keyCode || eve.which;
     if (key == 13) {
         document.getElementById(eve.target.id).click();
     }
      return false;
};

绑定所有你可以这样做

$('input[type="button"]').on("keyenter",function(eve){
     var key = eve.keyCode || eve.which;
     if (key == 13) {
          $(this).click();
      }
      return false;        
});
于 2012-10-30T20:35:35.517 回答
0

要绑定侦听器,请使用on

$(document).on("keyup","button", function(eve){
      if (eve.keyCode == 13) {
          $("#" + eve.target.id).trigger("click");
      }
      return false;        
});

还,

使用 jQuery,您可以使用以下trigger()功能:

$("#" + eve.target.id).trigger("click")

或通过使用.click()(这是上述的快捷方式),如下所示:

$("#" + eve.target.id).click()
于 2012-10-30T20:35:10.573 回答
0

您可以使用将事件处理程序on()绑定到文档中的所有按钮:keyenter

$(document).on("keyenter","button", function(eve){
      if (eve.keyCode == 13) {
          document.getElementById(eve.target.id).click();
      }
      return false;        
});

相应调整。

于 2012-10-30T20:35:45.187 回答
0

要将您的事件实现到所有按钮元素,您可以这样做:

$('button').each(function(){
     $(this).keypress(function(){
         if (eve.keyCode == 13) {
             $(this).click(); 
          }
          return false;
      }
});
于 2012-10-30T20:38:59.990 回答