非Chromium浏览器中event.originalEvent.propertyName无法返回height的问题求助
非Chromium浏览器中event.originalEvent.propertyName无法返回height的问题求助
大家好,我最近遇到一个jQuery监听过渡事件的问题,想请各位帮忙看看。
我用这段代码监听header元素的过渡结束事件:
$('body > header').on('webkitTransitionEnd oTransitionEnd msTransitionEnd transitionend', function(event) { if (event.target && event.originalEvent.propertyName === 'height') { console.log('height changed'); } });
对应的CSS是让这个header在height: auto和height: 100%之间来回过渡。
奇怪的是,这段代码在Chrome、Edge这类Chromium内核的浏览器里完全正常,能正确触发console.log。但在Firefox之类的非Chromium浏览器里就不行——我试着在if判断之前打印event.originalEvent.propertyName,结果输出的都是其他属性名,从来没出现过height。
我还尝试了另一种写法,结果更糟,在所有浏览器里都返回undefined:
$('body > header').on('webkitTransitionEnd oTransitionEnd msTransitionEnd transitionend', function(event) { var evt = event.originalEvent || event; if (evt.propertyName === 'height') { console.log('height changed'); } });
有没有大佬知道怎么解决这个问题?怎么才能让非Chromium浏览器里的event.originalEvent.propertyName也能像Chromium那样返回height呢?
备注:内容来源于stack exchange,提问作者A-Z
相关产品推荐
相关产品推荐

