仅当用户鼠标光标进入div元素.post-entry
时,才应调用以下代码。到现在为止,当我刷新页面时,我立即收到console.log进入并移动。
app.uiController = {
init: function() {
// Development
console.log('init uiController');
var el = $('.entry .post-entry');
var dot = $('img');
// Call functions
$(el).on('mouseenter', app.uiController.mouseEnter());
$(el).on('mousemove', app.uiController.mouseMove());
},
mouseEnter: function() {
console.log('enter');
},
mouseMove: function() {
console.log('move');
}
}
默认情况下,页面将调用app.uiController对象。如前所述,鼠标输入和移动在加载脚本后立即工作,但我将变量el
分配给事件,因此当鼠标位置进入.post-entry时,它应该执行链接功能。
我做错了什么?
答案 0 :(得分:2)
正如Rayon指出的那样,而不是传递
// Call functions
$(el).on('mouseenter', app.uiController.mouseEnter());
必须通过以下内容
// Call functions
$(el).on('mouseenter', app.uiController.mouseEnter);
这会传递函数而不执行它。
您可以在this
内使用mouseEnter
:例如
mouseEnter: function() {
id = $( this ).attr("id");
$("#result").text('enter that.id =' + id);
}