Javascript-форум (https://javascript.ru/forum/)
-   Events/DOM/Window (https://javascript.ru/forum/events/)
-   -   Зависимые события addEventListener (https://javascript.ru/forum/events/74863-zavisimye-sobytiya-addeventlistener.html)

Nlk 13.08.2018 00:17

Зависимые события addEventListener
 
Здравствуйте! Скажите пожалуйста, мне нужно использовать два события последовательно onWheel и transitionend, как это лучше сделать. Мой пример:
if (window.addEventListener) {
	if ('onwheel' in document) {
		window.addEventListener("wheel", test);
	} else if ('onmousewheel' in document) {
		window.addEventListener("mousewheel", test);
	} else {
		window.addEventListener("MozMousePixelScroll", test);
	}
} else {
	window.attachEvent("onmousewheel", test);
}

function test() {
        element.addEventListener("transitionend", myFunction, false);
        element.addEventListener("webkitTransitionEnd", myFunction, false);
}

function myFunction() {
...
}
И скажите пожалуйста насколько хороша поддержка браузерами события transitionend?
Спасибо

j0hnik 13.08.2018 02:13

Цитата:

Сообщение от Nlk
И скажите пожалуйста насколько хороша поддержка браузерами события transitionend?

93.01% по данным can i use

в вашем случае достаточно использовать переменную (flag), или чтобы избежать множественного навешивания обработчика, проверять висит ли нужное, но флаг всегда дешевле

var flag = false;
window.addEventListener("wheel", function(){
	flag = true;
});
element.addEventListener("transitionend", function(){
	if(flag){
	//некий код myFunction
	}
});

Nlk 13.08.2018 10:08

j0hnik,
Спасибо большое

Aetae 13.08.2018 10:23

Nlk, только учти, там где нужно использовать attachEvent - transitionend точно нет.)

Nlk 13.08.2018 12:20

Aetae,
Спасибо


Часовой пояс GMT +3, время: 21:06.