2012-07-23 2 views
3

다음 코드가 있습니다. 내가 그것을 짧게 만들 수 있도록 클릭하고 입력 할 수 있도록 그것을 복제하지 않아도됩니다.두 코드 모두에 대해이 코드를 짧게 만드는 방법

$(document).ready(function(){ 

    $(document).keypress(function(e) { 
    if(e.which == 13) { 
     $('form#myform').submit(); 
    } 
    }); 

    $('#mybutton').click(function() { 
    $('form#myform').submit(); 
    }); 

});​ 

답변

1

이 시도 : (. 문서 준비에 $(this)의 사용은 명확하지 않다거나 오타가 될 수 있으며 그것은 입력 상자로되어 있지만)

희망이 원인을 도움 :)

Submitting a form on 'Enter' with jQuery?

C : 또한 아래 링크를 읽어 송시

$(document).ready(function(){ 

    $('#search').keypress(function(event) { //<<== #search is input box id 
    if (event.which == 13) { 
     $('#mybutton').trigger('click'); 
    } 
    }) 

    $('#mybutton').click(function() { 
    $('form#myform').submit(); 
    }); 

});​ 

또는

 var myFunction = function() { 
     $('form#myform').submit(); 
     } 

    $('#search').keypress(function(event) { //<<== #search is input box id 
     if (event.which == 13) { 
      myFunction; 
     } 
     }) 

     $('#mybutton').click(myFunction); 

또는

이 같은 체인 시도 할 수 :

이이 이벤트에 #element을 결합하지만 당신이 찾고있는 수 있습니다 2 개의 분리 된 요소를 2 개의 분리 된 이벤트로 묶는 것 그러나 동일한 결과. 이 작동하는 방법이다

$(document).ready(function(){ 
    $(this).on('keypress click', function(e) { 
     if(e.which == 13 || e.target.id==='mybutton') 
      $('form#myform').submit(); 
    }); 
});​ 

:

$('#element').bind('keypress click', function(e) { 
    ... 
}); 
1
$(document).ready(function(){ 
    $(this).bind('keypress click', function(e) { 
     if(e.type == 'click') { 
      if(e.target.id == 'mybutton') { 
      $('form#myform').submit(); 
      } 
     } else if(e.type == 'keypress') { 
      if(e.which == 13) { 
      $('form#myform').submit(); 
      } 
     } 
    }); 
});​ 
관련 문제