簡體   English   中英

我可以通過觸發一些東西在jQuery中調用這個匿名函數嗎?

[英]Can I call this anonymous function in jQuery by triggering something?

我使用的是hoverIntent jQuery插件來代替jQuery的hover()方法。 我希望mouseout事件被自動調用。

使用hover() ,我可以通過調用mouseout()來觸發mouseout事件。 使用hoverIntent時,這不起作用。

我也嘗試調用命名匿名函數,但是它對我不起作用(我聽說較早的IE不喜歡命名匿名函數)。

這是jsFiddle上的示例。

如果我自動調用mouseout函數,則無法通過hoverIntent調用它。

現在我知道我可以做...

$('something').hoverIntent(function() { }, something);

something();

但是我想知道我想要的東西是否可能?

謝謝

不幸的是,除了命名函數之外沒有辦法,不是插件的結構方式......它不會以任何可以在以后訪問的方式存儲,只能存儲在插件的閉包中。

在這里設置:

$.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對象。 如果你想更改插件並通過.data()存儲cfg對象,例如你可以,但是因為沒有辦法訪問或觸發匿名處理程序。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM