4
工作,請參閱此琴:jQuery的。對()事件的說法並不在Firefox
什麼是應該發生在這裏的是,小框應通過CSS過渡淡出,然後ontransitionend,調整更大的盒子的高度。它在Chrome,Opera中運行良好,但在Firefox中不起作用。
我認爲這與jQuery的.on()方法的第二個參數event
有關。如果不允許的話,還有其他的選擇嗎?
謝謝!
哦,無視寫在小提琴的意見:)
工作,請參閱此琴:jQuery的。對()事件的說法並不在Firefox
什麼是應該發生在這裏的是,小框應通過CSS過渡淡出,然後ontransitionend,調整更大的盒子的高度。它在Chrome,Opera中運行良好,但在Firefox中不起作用。
我認爲這與jQuery的.on()方法的第二個參數event
有關。如果不允許的話,還有其他的選擇嗎?
謝謝!
哦,無視寫在小提琴的意見:)
你有你的event
處理有點南轅北轍。某些瀏覽器有一個名爲event
的內置對象,恰好有一個stopPropagation()
方法。 Firefox不。 jQuery優雅地處理這些差異,但你沒有正確使用它。
你的事件處理程序的形式是:
.on('eventName', event, function(){...})
他們應該
.on('eventName', function(evt){...})
哪裏evt
是圍繞事件jQuery的包裝。
function start() {
$('.childDiv').addClass('faded').on('transitionend', function(evt){
evt.stopPropagation();
//I suppose this ended the event listener for the childDiv
$('.childDiv').off('transitionend');
$('.parentDiv')
.addClass('no-height')
.on('transitionend',function(evt) {
//why is 'opacity' being read? any way to fix this?
alert(evt.propertyName);
});
});
}
(但是,請注意,jQuery.Event
不具有財產propertyName
使最終alert
將顯示undefined
)
活生生的例子:http://jsfiddle.net/qCKcg/
似乎不讀evt.propertyName了在Chrome上。 :( – 2013-04-26 07:50:13
@AJNaidas - 再看一次,你想要的東西是'evt.originalEvent.propertyName' - 可以在Chrome和FF中使用。 – Jamiec 2013-04-26 07:59:25
明白了!謝謝!@Jamiec – 2013-04-26 08:12:07