-
Notifications
You must be signed in to change notification settings - Fork 22
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Сделать ns.Events консистентнее с jQuery Events #613
Comments
А точно после |
Ну вот jQuery как раз снимает оба обработчика. Т.е. если несколько ссылок на один и тот же обработчик — он найдет их все и удалит, а у нас в |
"примеры кликабельны" ;) |
В новой версии(0.8.6) снимется только once. А обработчик |
Мне кажется, что |
Мы просто не может быть незаодно, потому что jQuery переписать нельзя, а ns.Events можно. Речь ж о том, чтобы они были совместимы, потому что мы пользуем и тот и тот — в принципе, есть шанс нарваться на странный баг, когда в одном случае у тебя так работает, а в другом иначе. |
Ну, или мигрануть на новую версию jQuery, если такое поведение где-то поправили. Но это может быть болезненно и ненужно — лучше уж вообще от него отказаться :D |
Хорош уже. Это нужно задокументировать как странный случай и не трогать. Я не могу представить зачем можно в здравом уме хотеть вешать один и тот же обрабочик событий дважды, а извращенцы должны страдать. |
А что если ты хочешь снять оба? Я не согласен, что это полезная фича. Почему в jquery снимают оба мне ясно. Почему стоит снять только |
Два раза сделаю А почему в jQuery снимают оба? |
А где 2 там и 3 ;) Ну чтобы "2 раза не вставать" я так думаю. Я согласен, с тем, что это кривые руки делать |
Давайте я вам приведу пример двойного навешивания обработчика: models: {
'some-model': {
'ns-model-changed.something': function() {
ns.on('special:model:async-event', this.handle);
}
}
},
events: {
'ns-view-hide': function() {
ns.off('special:model:async-event', this.handle);
}
},
methods: {
handle: function(data) {
if (data.finished) {
ns.off('special:model:async-event', this.handle);
} else {
...
}
},
someWaitMethod: function() {
ns.once('special:model:async-event', this.handle);
}
} |
По следам #607
Хочется сделать ns.Events максимально консистентным с jquery.
К примеру:
ns.Events:
jQuery:
The text was updated successfully, but these errors were encountered: