jQuery's $.fn.one
должен быть отключен после того, как событие было запущено, а слушатель запустил сценарий.jQuery.one прослушивание нескольких событий
Однако, если он прослушивает несколько событий, он не отключится для всех прослушанных событий после того, как один из них выстрелил.
Используя этот приемник событий:
var transitionend = "webkitTransitionEnd msTransitionEnd transitionend";
$("foo").one(transitionend , function(){
foo.bar();
});
Метод foo.bar()
будет выполняться 2 раза в хроме, так webkitTransitionEnd
transitionend
как огонь.
Я пытаюсь найти элегантный решение, при котором один из прослушиваемых методов отключает все остальные в слушателе.
Вам лучше нормализовать событие, чтобы связать только релевантную, как это делается с использованием, например, библиотеки Modernizr: http://stackoverflow.com/a/9090128/1414562. Как сказано, ответ Карла должен работать так, как ожидалось, поскольку i видеть это –