2016-02-12 5 views
0

я делаю плагин и у меня есть несколько событий, как эта:Как отвязать без пользовательских событий в плагин JQuery

$(window).on('load resize', function(event) { 
    _plugin.methodCall(); 
}); 

Также $(document).on('click', function(){}); события. Как отключить их в моей функции destroy, не запуская другие пользовательские события?

Или лучше создавать объявления с помощью специальных событий?

ответ

1

Вы можете использовать jQuery .off в сочетании с пространствами имен при прикреплении события с ".on"

var validate = function() { 
      // Code to validate form entries 
     }; 

     // Delegate events under the ".validator" namespace 
     $("form").on("click.validator", "button", validate); 

     $("form").on("keypress.validator", "input[type='text']", validate); 

     // Remove event handlers in the ".validator" namespace 
     $("form").off(".validator"); 
+0

Так в основном меняем событие от «нагрузки изменения размера» до «load.something resize.something», а затем .off (». Что-то ')? –

+1

Да, например, вы можете использовать свое имя плагина –

+0

Боже, если бы я знал, что это так просто. Благодаря! –