我使用hoverIntent jQuery plugin代替jQuery的hover()
方法。我希望自动调用 mouseout 事件。
使用hover()
时,我可以通过调用mouseout()
来触发mouseout事件。使用hoverIntent时,这不起作用。
我也试过调用一个命名的匿名函数,但它对我不起作用(我听说旧的IE不喜欢命名的匿名函数)。
Here is an example on jsFiddle.
如果我自动调用 mouseout 函数,则无法通过hoverIntent调用它。
现在我知道我能做到......
$('something').hoverIntent(function() { }, something);
something();
但我想知道我想要的是否可能?
由于
答案 0 :(得分:2)
不幸的是,除了命名函数之外,还没有其他方法,而不是插件的结构方式......它不会以任何可以在以后访问的方式存储,只能存储在插件中#&#关闭。
它设置在这里:
$.fn.hoverIntent = function(f, g) {
// default configuration options
var cfg = {
sensitivity: 7,
interval: 100,
timeout: 0
};
// override configuration options with user supplied object
cfg = $.extend(cfg, g ? {
over: f,
out: g
} : f);
...之后,所有引用都是对cfg
对象,只能在插件中访问。如果您想更改该插件,并通过cfg
存储.data()
对象,例如您可以,但原则上无法访问或触发匿名处理程序。