1

$(element).addEvent('transitionend', function(e){
    // do soming...
});

在Firefox中,它不起作用。但是,使用 addEventListener 而不是 addEvent,它可以工作。mootools 不支持 css 事件吗?

4

1 回答 1

2

对...引用文档

由于边缘用例或浏览器支持的新事件,MooTools 的元素事件 API 并不支持所有事件。要添加对本机事件的支持,只需Element.NativeEvents使用键和适当的键值来扩充对象(使用上面的)。例如,在您的应用程序中添加 popstate 支持:

Element.NativeEvents.popstate = 2;
// Now element.addEvent('popstate', fn); will work everywhere

所以在你的情况下,这很容易

Element.NativeEvents.transitionend = 2;

var foo = document.getElement('.foo');

foo.addEvent('transitionend', function(){
    alert('done');
});

foo.removeClass('bar');

在行动:http: //jsfiddle.net/gf72uu37/

现在至少可以为标准化和无供应商前缀的事件修复此问题。但是浏览器支持会不完整,mootools 甚至会尝试支持 IE8 ......

于 2015-09-18T21:23:41.517 回答