传递函数来点击事件jQuery

时间:2016-06-01 13:28:39

标签: javascript jquery

我只是想知道将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事件?感谢

2 个答案:

答案 0 :(得分:3)

你可以这样打电话,

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

或者

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

还有可能在绑定事件时没有呈现.new-car-general-inquiry-btn元素。如果是这样,你需要将代码包装在dom ready事件中。

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

答案 1 :(得分:0)

而不是

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

您需要使用

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

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