2015-10-12 58 views
0

我一直在努力讓CSS轉換與IE一起工作。出於某種原因,除了IE以外,所有瀏覽器都會觸發transitionend事件。 我創建了一個小例子,在這裏,其中顯示了問題:在IE瀏覽器中沒有觸發的transistionend事件

http://jsfiddle.net/c55f60as/

這裏的 - 當過渡結束這應該叫代碼:

$('.box-to-illuminate').mousedown(function() {   

     $(this).addClass('holding');     
     $(this).bind('transitionend', function() { 
      $(this).off('transitionend'); 
      $(this).removeClass('holding');   
     } 
    );   
}); 

在Chrome和Firefox中,箱變在過渡事件中迴歸黃色。這在IE10 + 11中不會被調用。

如果有人能解決這個難題,我將非常感激!

感謝

回答

0

這是因爲IE 9 and lower不支持'transitionend',但它不支持'change'。雖然注意IE雖然支持更改事件,但它是incomplete in IE9 and buggy in previous version。只要注意,因爲IE 9 - 不支持transitionend在這種情況下,功能將受到限制:

$(this).bind('change', function() { 
    $(this).off('change'); 
    ... 
}); 
+0

謝謝,但該示例do not't與IE 10和IE 11工作! –

+0

@HankRearden我測試過IE10和Edge上的'transitionend',它工作正常,你確定你沒有在以前版本的IE上運行兼容模式? –

+0

是的,我確定我正在運行IE11。 如果您在Chrome中運行該示例,則會看到轉換後顏色變回黃色。 IE瀏覽器並非如此。 –

0

對我的作品,當我使用addEventListener("transitionend")。 Neiher "MSTransitionEnd"也不"transitionEnd"如果綁定框架,所以結果可能取決於具體的框架/版本

相關問題