如何在jquery事件方法之间切换?

如何在jquery事件方法之间切换?,jquery,Jquery,在我的插件中,我有一个运行click事件并加载ajax的方法 loadAjax: function () { self = this; $('.loadmore').click(function (event) { // load ajax and do some stuff }); } 我想换成 $( window ).scroll(function(event) { // load ajax and do some stu

在我的插件中,我有一个运行click事件并加载ajax的方法

loadAjax: function () {


    self = this;
    $('.loadmore').click(function (event) {

           // load ajax and do some stuff
    });
}
我想换成

$( window ).scroll(function(event) {

       // load ajax and do some stuff
});
但是不需要再次重写ajax行。 该插件还有一个loadaction选项,我可以从单击切换到滚动

在不复制ajax代码的情况下,这是可能的吗

谢谢大家!

可以使用$(window).scroll()事件触发$('.loadmore')。单击()事件


不过,您需要注意触发此事件的频率。可以使用超时,或者确定窗口应该滚动多远,而不是在每个滚动事件上触发。

您可以尝试调用对象的不同方法(主要思想):


有几种不同的方法可以实现,都使用函数。我不想将它们组合在一起,需要使用或。
$(window).on('scroll',function(e){
    $('.loadmore').trigger('click');
});
var customCall = {
  click: function(){
    $('.loadmore').click(function (event) {

       // load ajax and do some stuff
    });
  },
  scroll: function(){
    $( window ).scroll(function(event) {

     // load ajax and do some stuff
    });
  }
}, choice;

choice = 'click'; // loadAjax call click function

loadAjax: function () {
  self = this;
  customCall[choice]();
}

...

choice = 'scroll'; // loadAjax call scroll function