2015-10-12 61 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"如果绑定框架,所以结果可能取决于具体的框架/版本

相关问题