为什么mouseenter会触发函数,而你却没有'不要将鼠标悬停在元素上
Why will mouseenter fire the function, while you don't hover over an element?
只有当用户鼠标光标进入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时,它应该执行链接功能。我做错了什么?
正如Rayon所指出的,而不是通过
// Call functions
$(el).on('mouseenter', app.uiController.mouseEnter());
以下内容必须通过
// Call functions
$(el).on('mouseenter', app.uiController.mouseEnter);
这会在不执行的情况下传递函数。
更新
您可以在mouseEnter
中使用this
:例如
mouseEnter: function() {
id = $( this ).attr("id");
$("#result").text('enter that.id =' + id);
}
相关文章:
- 如何查明鼠标按下事件是否发生在滚动条上或元素中的其他任何位置
- 将鼠标悬停在同级元素上的 jquery 上轻拂
- 将鼠标悬停在Angular JS中的一个元素上,并将Class添加到另一个元素中
- 如何在元素中处理鼠标事件,但不能在其子元素上处理
- 只要用户将鼠标悬停在jQuery中的某个元素上,就可以执行多次单击
- 单击其他元素或鼠标向上时隐藏输入框,但保留一次焦点
- 如果鼠标在元素上快速移动和关闭,则防止.hoop事件被垃圾邮件发送
- 为什么不是't html<对象>元素响应鼠标事件
- 如何激活下拉菜单:在一个元素上单击768px宽度下方,在另一个元素上将鼠标悬停在768px上方
- 如果鼠标离开父对象,则隐藏元素
- 当鼠标悬停在iframe上时,如何在iframe之外的元素上触发类
- 如何在鼠标悬停时显示带有拉斐尔元素(圆、线)的上下文菜单
- 当鼠标也在触摸另一个元素时,d3.js鼠标悬停事件未被触发
- 从鼠标点(及更多)查询位置元素
- 如何添加效果,以便将鼠标悬停在 SVG 元素上使其变大
- 可缩放容器鼠标上的可拖动元素在创建时从辅助对象上浮动
- 绘制DOM元素:鼠标事件会被背景元素混淆
- 将鼠标悬停在一个元素上,可以将类添加到另一个元素中
- 使用Firefox bookmarklet在元素上触发鼠标单击
- 如何在保留鼠标/元素坐标访问权限的同时将鼠标移动更改为 setInterval