Как выполнить вложенный вызов с помощью jquery

#javascript #jquery

#javascript #jquery

Вопрос:

У меня есть приведенный ниже код в файле JS:

 $(document).ready(function() {
$("#key_verify").click(function () {
    $("#errrmsg").html("<img src="/images/shim.gif"/>");
    if($.trim($("#key").val()).length != 0){
    $.ajax({
    type : "POST",
    cache : false,
    async : true,
    url : "/issuekey?key=" $("#key").val(),
    success : function(data) {
      var json_obj = $.parseJSON(data);
      if(json_obj === undefined || json_obj == null){
      }else{
        if(json_obj.result == "true"){
            top.location.href="/register"
        }else{
            $("#errrmsg").html(invalid_key);
        }
      }
    },
    error : function(data) {
      $("#errrmsg").html(invalid_product_key); 
    }
  });
  }
});
  

}

Как я могу вызвать приведенный выше код в нижеприведенных строках, чтобы, когда пользователь нажимает клавишу ввода, он также должен вызывать клавишу ввода??

 $("#key_verify").keypress(function(e) {
    if(e.which == 13){
        ??????
    }
});
  

Спасибо!

Комментарии:

1. Вы хотите, чтобы ваша первая функция / события вызывались при #key_verify щелчке или нажатии?

Ответ №1:

Преобразуйте функцию, которую вы передаете click обработчику, в именованную функцию следующим образом:

 var verify = function(e) {
   // your current anonymous function
   $("#errrmsg").html("<img src="/images/shim.gif"/>");

   // ... the rest of your function
}
  

Затем передайте его в качестве аргумента в ваши обработчики событий:

 $("#key_verify").click( verify );
$("#key_verify").keypress(function(e) {
    if(e.which == 13){
        verify( e );
    }
});