Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Как проверить, поддерживается ли событие? (https://javascript.ru/forum/misc/24446-kak-proverit-podderzhivaetsya-li-sobytie.html)

trikadin 30.12.2011 19:21

Цитата:

Сообщение от FINoM
trikadin, шутка сугубо программистическая, пацаны не поймут.

Так и я вроде не на форум гопников зашёл)

А "программистическая" - это зачёт.

melky 31.12.2011 12:41

css-animation support detecting
Цитата:

Сообщение от Nekromancer (Сообщение 147290)
В общем виде выглядит как то так:
if(window.AnimationEvent || 'onanimationend' in document.body || document.body.onanimationend === null){
//oh yeah..
}else if(window.VendorAnimationEvent){
// oh.. not so bad
}else {
//fuck, no..
}

"если это утка, то она ходит и крякает, как утка."

подход с другой стороны
"если это ходит и крякает, как утка, то это - утка"

var animation = false,  
    animationstring = 'animation',  
    keyframeprefix = '',  
    domPrefixes = 'Webkit Moz O ms Khtml'.split(' '),  
    pfx  = '';  
  
if( elm.style.animationName ) { animation = true; }      
  
if( animation === false ) {  
  for( var i = 0; i < domPrefixes.length; i++ ) {  
    if( elm.style[ domPrefixes[i] + 'AnimationName' ] !== undefined ) {  
      pfx = domPrefixes[ i ];  
      animationstring = pfx + 'Animation';  
      keyframeprefix = '-' + pfx.toLowerCase() + '-';  
      animation = true;  
      break;  
    }  
  }  
}


отсюда узнаем префикс (код с MDN), далее просто :

element[pfx.toLowerCase() + 'animationend'] = function(){...}

Nekromancer 31.12.2011 16:12

melky,
Ну во первых, способ находился вручную, вместе со всеми сидящими тут методом тыка.
Во вторых он делает то же самое, что ваш (не ваш кстати) код.
Ну и в третьих если есть анимация, то никто не гарантирует что есть событие анимации для JS.

melky 31.12.2011 16:42

Цитата:

Сообщение от Nekromancer (Сообщение 147538)
melky,
Ну во первых, способ находился вручную, вместе со всеми сидящими тут методом тыка.
Во вторых он делает то же самое, что ваш (не ваш кстати) код.

я же намекнул, что это то же самое, только с другой стороны :)

Цитата:

Сообщение от Nekromancer (Сообщение 147538)
Ну и в третьих если есть анимация, то никто не гарантирует что е
сть событие анимации для JS.

почему вы так думаете?

Nekromancer 31.12.2011 17:19

melky,
потому, что у производителей браузеров бывали фейлы и по хуже :)


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