将标准jQuery函数分配给变量

时间:2019-07-17 16:34:33

标签: javascript jquery

如何将这些功能submit()click()分配给变量。这样我就可以在if语句中使用它们:

function sendToCheckout() {
  $(document).ajaxComplete(function(){
    if($("form[action='/cart']").length == 1){
      var x = submit();
    }
    else {
      var x = click();
    }
    $("form[action='/cart']").off().x(function(event){
      event.preventDefault(event);
      var amountToSend = sessionStorage.getItem('amountToSend');
        if(amountToSend != null && amountToSend != "0"){
          sendData();         
        }
        else{
          window.location.href = shopAddress + "/checkout";
        }      
    });
  });
}

使用上面的代码,我得到了错误Uncaught ReferenceError: submit is not defined

1 个答案:

答案 0 :(得分:2)

这些函数也是事件的名称,因此您可以以这种方式使用它们。

将事件名称分配为字符串,然后使用.on(),它将事件名称作为参数。

您也不应有多个var x声明。在if之前声明它,然后在其中分配它。

function sendToCheckout() {
  $(document).ajaxComplete(function() {
    var x;
    if ($("form[action='/cart']").length == 1) {
      x = "submit";
    } else {
      x = "click";
    }
    $("form[action='/cart']").off().on(x, function(event) {
      event.preventDefault(event);
      var amountToSend = sessionStorage.getItem('amountToSend');
      if (amountToSend != null && amountToSend != "0") {
        sendData();
      } else {
        window.location.href = shopAddress + "/checkout";
      }
    });
  });
}