Можно ли вызвать эту анонимную функцию в jQuery, вызвав что-то?
Я использую плагин hoverIntent jQuery вместо jQuery hover()
метод. Я хочу, чтобы событие mouseout вызывалось автоматически.
Когда используешь hover()
Я могу вызвать событие mouseout, вызвав mouseout()
, Это не работает при использовании hoverIntent.
Я также пытался вызвать именованную анонимную функцию, но у меня это не сработало (и я слышал, что старые IE не любят именованные анонимные функции).
Если я автоматически вызываю функцию mouseout, она не может быть вызвана через hoverIntent.
Теперь я знаю, что могу сделать...
$('something').hoverIntent(function() { }, something);
something();
Но мне было интересно, возможно ли то, что я хотел?
Спасибо
1 ответ
К сожалению, кроме именованной функции нет другого способа, кроме как с тем, как плагин структурирован... он не сохраняется каким-либо образом, который доступен позже, только для закрытия плагина.
Это установлено здесь:
$.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()
например, вы могли бы, но, как есть, нет способа получить доступ или вызвать анонимный обработчик.