|
Как проверить, поддерживается ли событие?
Например, 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, время: 16:38. |
|