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 に答える