如何使用jquery进行嵌套调用

时间:2011-10-18 22:21:57

标签: 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); 
    }
  });
  }
});

}

如何在下面的行中调用上面的代码,这样当用户点击enter键时,它也应该调用enter键?

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

谢谢!

1 个答案:

答案 0 :(得分:2)

将要传递给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 );
    }
});