destroy, unstroy
Можете подсказать, как реализуются данные методы JQuery плагинов. Как лучше делать.
Пытался реализовать несколько раз, но понимания как это делать не приходит и из-за этого возникают проблемы. |
Алексей Петрович,
destroy -- метод удаления плагина, удаляются элементы созданные плагином и обработчики, что удалить с помощью .remove() или off() перечислить самому |
Что делает off()?
А если отключать обработчик событий, к примеру on('click') ну или другой, а пользовательские обработчики не отлучаться? И как этого можно избежать? |
Цитата:
|
$('#foo').off('click'); // удалим все обработчики события 'click' у элемента foo
Цитата из переведённой статьи. Как этого избежать? Будет ли правильным такой подход? var $element = $('#element'); // Где то в коде $element.on('click', function () { $(this).trigger('myplugin.click'); }); $element.on('myplugin.click', function() { // Что то }); // В методе destoy $element.off('myplugin.click'); |
Алексей Петрович,
а что функции имя сложнее дать? var $element = $('#element'); function x() { // } $element.on('click', x); $element.off({'click' : x}); |
Блин, даже не думал об этом, не догадывался и не разу так не делал. Надо попробовать.
|
Алексей Петрович, такая конструкция здесь лишняя
$element.on('click', function () { $(this).trigger('myplugin.click'); }); Пространство имен пишится так var $element = $('#element'); $element.on('click.myplugin', function() { // Что то }); $element.off('click.myplugin'); |
Цитата:
как пример Цитата:
|
Часовой пояс GMT +3, время: 22:52. |