|
Как проверить, поддерживается ли событие?
Например, animationend поддерживается не всеми браузерами (может и ни одним). Поэтому приходится применять такие события, как webkitanimationend и пр. Если одновременно добавлять и обычное событие и событие с вендорным префиксом, боюсь, в один прекрасный момент, они будут срабатывать оба.
|
if ( document.body.onanimationend === null ) { alert( "support" ); } else { alert( "unsupport" ); } if ( document.body.onclick === null ) { alert( "support" ); } else { alert( "unsupport" ); } |
И? document.createElement('div').onwebkitanimationend выдает null.
|
Цитата:
все просто: var event = document.createElement('div').onanimationend === null ? 'animationend' : 'webkitanimationend'; addEventListener( event, function(){}, false); |
Цитата:
Цитата:
|
зачем несколько событий, ешкин макорошкин... всеж по русски объясняю..
ты задал вопрос как узнать поддерживает браузер оригинальное событие или нет... тепер пишешь простую функцию инициализации библиотеки: eventNames = (function(){ var conf ={}, div = document.createElement('div'); conf.animationend = div.onanimationend === null ? 'animationend' : 'webkitanimationend'; conf.какойтотамевент = div.onкакойтотамевент === null ? 'какойтотамевент' : 'webkitкакойтотамевент'; conf.какойтотамевент2 = div.onкакойтотамевент2 === null ? 'какойтотамевент2' : 'webkitкакойтотамевент2'; div = null; return conf; }()); а теперь спокойно юзаешь: elem.addEventListener( eventNames.какойтотамевент, function(){ }, false); elem.addEventListener( eventNames.animationend, function(){ }, false);и тд |
trikadin,
ну не знаю, у меня в опере норм выдает |
Еще раз объясняю, onwebkitanimationend выдаёт undefined, хотя через addEventListener поддерживается.
|
Цитата:
|
Цитата:
|
Часовой пояс GMT +3, время: 20:48. |
|