backbone.js를 사용하여이 이벤트를 트리거 할 때 event.type이 mouseenter에서 mouseover로 변경되어 콘솔 로그가 " mouseenter "이고 두 번째 로그는"mouseover "입니다 왜 변환 ??? 500 밀리 초 나중에 내 마우스가 이미 내 마우스 이벤트에 걸쳐 있기 때문에 실제로 마우스 오버는, 그래서 그 트리거 될 때 "입력"때문에_.delay 마우스 위치에서 mouseover로 내 e.type 바꾸기
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);
},
});
은 무엇입니까?
명시 적으로'e' 객체를 전달하십시오 :'_.delay (function (e) {...}, 500, e);' –
또한'_.delay' 대신'setTimeout'을 사용하여 if 이 동작은'_.delay'에 의해 발생합니다 (비록 그것이 어떻게 될지는 모르지만). –