簡體   English   中英

jQuery hoverIntent:'未捕獲的TypeError:無法調用方法'apply'of undefined'

[英]jQuery hoverIntent: 'Uncaught TypeError: Cannot call method 'apply' of undefined'

我正在使用Brian Cherne的hoverIntent.js插件進行項目。 這是一個很棒的插件,但似乎在jQuery 1.7.1中被打破了。

我正在嘗試調試它,但我不是那里最傑出的javascripter。 任何人都可以告訴我在他的代碼中我可能需要尋找什么來修復以下錯誤消息:

Uncaught TypeError: Cannot call method 'apply' of undefined

這就是我的Chrome控制台告訴我的內容。 我只是不確定要改變什么。

插件中有以下代碼行,其中包含apply字符串

return cfg.over.apply(ob,[ev])}else{pX=cX;pY=cY;ob.hoverIntent_t=setTimeout(function(){compare(ev,ob)},cfg.interval)}};

編輯

我應該發布鏈接到Brian的完整注釋代碼。 它在這里: http//cherne.net/brian/resources/jquery.hoverIntent.js

編輯2

我的腳本如下

//#nav-main dropdown effects                
$('#nav-main ul li').hoverIntent(function () {
   $(this).find('.dropdown').stop(true,true).slideToggle('500');
});

基本上hoverIntent需要兩個函數或一個對象。

如果你只放入一個函數,它將嘗試使用你的函數作為對象,你不能應用一個函數! 所以使用:

$('#nav-main ul li').hoverIntent(function () {
    $(this).find('.dropdown').stop(true,true).slideToggle('500');
}, function(){});

如果您使用的是一個對象而不是兩個函數,但沒有“out”屬性,則會出現相同的錯誤。 我做到了。 添加“out”修復它的方式與@noob已經回答的方式相同,只是語法不同,所以它可能對某人有所幫助。

$('#nav-main ul li').hoverIntent({
  over: function () {
    $(this).find('.dropdown').stop(true,true).slideToggle('500');
  },
  out: function() {}
});

我對'parallax'插件有同樣的問題。 我從*jquery-1.10.2*.將jQuery librery版本更改為*jquery-1.6.4* *jquery-1.10.2*. 錯誤已清除。

暫無
暫無

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

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