Как переключаться между методами событий jquery?

0

Внутри моего плагина у меня есть метод, который запускает событие 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. У плагина также есть опция для загрузки, которую я могу переключить с щелчка на прокрутку.

Возможно ли это без дублирования кода ajax?

Спасибо!

Теги:

2 ответа

1
Лучший ответ

Вы можете попробовать вызвать различные методы объекта (основная идея):

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
0

Вы можете использовать событие $ (window).scroll(), чтобы вызвать событие $ ('. Loadmore'). Click().

$(window).on('scroll',function(e){
    $('.loadmore').trigger('click');
});

Хотя вы хотите быть осторожным с тем, как часто это событие будет срабатывать. Возможно, используйте тайм-аут или определите, как далеко прокручивать окно, а не запускать каждое событие прокрутки.

  • 0
    Я не хочу их объединять, нужно либо либо, либо.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню