當我用backbone.js觸發此事件並嘗試並延遲函數調用時,事件類型從mouseenter更改爲mouseover,控制檯日誌將射出「 mouseenter「,第二個日誌是」mouseover「爲什麼轉換?爲什麼_.delay將我的e.type從mouseenter轉換爲mouseover
app.newsroomPageElementView = Backbone.View.extend({
events: {
'mouseenter .featured-image': 'imageHover',
'mouseleave .featured-image': 'imageHover'
},
imageHover: function (e) {
Y.log(e.type); // this outputs out mouseenter
_.delay(function(){
Y.log(e.type); // this outputs mouseover
}, 500);
},
});
是不是因爲500毫秒後,我的鼠標已經「進入」,因此它實際上是一個鼠標懸停,因爲我的鼠標移動到該事件時,其觸發?
嘗試顯式傳遞'e'對象:'_.delay(function(e){...},500,e);' – 2013-02-10 23:53:08
此外,請嘗試'setTimeout'而不是'_.delay'來檢查if這種行爲是由'_.delay'造成的(儘管我不明白它是怎麼回事)。 – 2013-02-10 23:54:45