"on.hover" 在 jQuery 插件功能中不工作,鼠标悬停和点击可以工作
"on.hover" not working in jQuery plugin function, mouseover and click do work
我运行遇到了一个奇怪的问题。我正在考虑编写一个插件,所以我开始热衷于此。但是当我 运行 进入这个问题时,我的热情很快就消失了。首先是我的代码:
(function ($) {
$.fn.hoverme = function () {
//Define default values
var defaults = {
color: 'inherited',
size: ''
}
//Make the hover function
$(this).on('hover', function () {
var currentMousePos = {
x: event.pageX,
y: event.pageY
}
console.log(currentMousePos.x);
})
}
}(jQuery));
非常基本的东西。问题是:我无法让悬停在插件中工作。鼠标悬停、鼠标离开和所有其他事件都有效。
我是不是遗漏了什么。
我这样调用插件:
$(document).ready(function () {
$('#element').hoverme();
})
hover
不是有效事件,但是 mouseenter
和 mouseleave
是有效事件。
jQuery在之前的版本中确实支持hover
事件,但是不推荐使用,在新版本中已经被移除。
你应该改用 mouseenter
和 mouseleave
事件,因为你的插件被命名为 $.fn.hover
你已经有效地覆盖了 jQuery 的原生$.fn.hover
方法。
如果你想在鼠标移动时捕捉它,你可以使用 mousemove
事件来代替
我运行遇到了一个奇怪的问题。我正在考虑编写一个插件,所以我开始热衷于此。但是当我 运行 进入这个问题时,我的热情很快就消失了。首先是我的代码:
(function ($) {
$.fn.hoverme = function () {
//Define default values
var defaults = {
color: 'inherited',
size: ''
}
//Make the hover function
$(this).on('hover', function () {
var currentMousePos = {
x: event.pageX,
y: event.pageY
}
console.log(currentMousePos.x);
})
}
}(jQuery));
非常基本的东西。问题是:我无法让悬停在插件中工作。鼠标悬停、鼠标离开和所有其他事件都有效。
我是不是遗漏了什么。
我这样调用插件:
$(document).ready(function () {
$('#element').hoverme();
})
hover
不是有效事件,但是 mouseenter
和 mouseleave
是有效事件。
jQuery在之前的版本中确实支持hover
事件,但是不推荐使用,在新版本中已经被移除。
你应该改用 mouseenter
和 mouseleave
事件,因为你的插件被命名为 $.fn.hover
你已经有效地覆盖了 jQuery 的原生$.fn.hover
方法。
如果你想在鼠标移动时捕捉它,你可以使用 mousemove
事件来代替