Javascript 传递函数以单击事件jQuery

Javascript 传递函数以单击事件jQuery,javascript,jquery,Javascript,Jquery,我只是想知道我需要做什么才能将clickAssistanceToggle函数传递给我的jQuery点击事件,我已经查看了这里的一些答案,但找不到简单的解决方案 到目前为止,我有以下代码: function clickAssistanceToggle() { $('.car-hub-header-help, #assistance-overlay, .assistance-close-btn').click(function(){ $('#new-car-hub, #new

我只是想知道我需要做什么才能将
clickAssistanceToggle
函数传递给我的jQuery点击事件,我已经查看了这里的一些答案,但找不到简单的解决方案

到目前为止,我有以下代码:

  function clickAssistanceToggle() {
    $('.car-hub-header-help, #assistance-overlay, .assistance-close-btn').click(function(){
      $('#new-car-hub, #new-car-offer').toggleClass('assistance-active');
      $('#pulman-assistance').toggleClass('pulman-assistance-active').css("top", fixedPositionCalculator);
      $('#assistance-overlay').toggleClass('assistance-overlay-active');
      $('#new-car').toggleClass('assistance-active-body');
      $('#new-car-offer-cta').toggleClass('assistance-active-cta');
    });
  };
  $('.new-car-general-enquiry-btn').click(function(){
    clickAssistanceToggle();
  });
正如您所看到的,函数不会像这样运行,因为它没有作为参数传递,我尝试过这样传递函数:

  $('.new-car-general-enquiry-btn').click(function(clickAssistanceToggle){
    clickAssistanceToggle();
  });

但是这似乎不起作用,你知道我如何将该函数传递给click事件吗?谢谢

你可以这样打电话

 $('.new-car-general-enquiry-btn').click(clickAssistanceToggle);

还有一种可能性是,.new car general QueryBTN元素在绑定事件时未呈现。如果是这样,您需要将代码包装在dom就绪事件中

$(document).ready(function() {
  $('.new-car-general-enquiry-btn').click(function() {
    clickAssistanceToggle();
  });
});

你可以这样打电话

 $('.new-car-general-enquiry-btn').click(clickAssistanceToggle);

还有一种可能性是,.new car general QueryBTN元素在绑定事件时未呈现。如果是这样,您需要将代码包装在dom就绪事件中

$(document).ready(function() {
  $('.new-car-general-enquiry-btn').click(function() {
    clickAssistanceToggle();
  });
});
而不是

 $('.new-car-general-enquiry-btn').click(function(clickAssistanceToggle){
    clickAssistanceToggle();
  });
你需要使用

 $('.new-car-general-enquiry-btn').click(clickAssistanceToggle);
基本上,当在
.new car general inquiry btn
元素上执行单击时,您需要传递要执行的函数。

而不是

 $('.new-car-general-enquiry-btn').click(function(clickAssistanceToggle){
    clickAssistanceToggle();
  });
你需要使用

 $('.new-car-general-enquiry-btn').click(clickAssistanceToggle);

基本上,当在
.new car general inquiry btn
元素上执行单击时,您需要传递要执行的函数。

显然,您的clickAssistanceToggle函数本身就是将一个单击处理程序分配给一组其他元素。你能解释一下目的吗?你确定你的代码不起作用吗?第一个块中的代码没有明显错误,唯一的问题是它没有立即可见的效果。实际上,当用户单击
.new car general enquiry btn
时,将调用附加函数,并将另一个单击处理程序附加到其他元素。toggleClass方法仅在用户单击以下元素之一时执行:
.car hub header help、#assistance overlay、.assistance close btn
。也就是说,第二个块代码当然是错误的。谢谢你的完全正确,我想我有点困惑,认为这是因为函数没有被调用。我没有意识到我在调用一个函数,该函数包含一个click函数中的click事件。。。为什么要将指向错误方向的答案标记为正确答案?显然,clickAssistanceToggle函数本身正在为一组其他元素分配一个单击处理程序。你能解释一下目的吗?你确定你的代码不起作用吗?第一个块中的代码没有明显错误,唯一的问题是它没有立即可见的效果。实际上,当用户单击
.new car general enquiry btn
时,将调用附加函数,并将另一个单击处理程序附加到其他元素。toggleClass方法仅在用户单击以下元素之一时执行:
.car hub header help、#assistance overlay、.assistance close btn
。也就是说,第二个块代码当然是错误的。谢谢你的完全正确,我想我有点困惑,认为这是因为函数没有被调用。我没有意识到我在调用一个函数,该函数包含一个click函数中的click事件。。。为什么你把一个指向错误方向的答案标为正确答案?