2014-01-09 28 views
0

沒有方法,我有這個功能在我的JS文件

(function($) { 
    $.fn.foobar = function() { 
    // some code 
    }; 
})(jQuery); 

,當我撥打以下

jQuery(function() { 
    $.getScript("http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js"); 
    $.getScript("http://ajax.googleapis.com/ajax/libs/jqueryui/1.10.3/jquery-ui.min.js"); 
    jQuery('object').foobar(); 
}); 

它給了我下面的

Uncaught TypeError: Object [object Object] has no method 'foobar'

我正在試試Rails文件(* .js.erb)

+0

檢查您的js的執行順序。 – xdazz

+0

你能展示一些你的「//一些代碼」嗎?可能有可能你有一個語法錯誤,所以該函數沒有得到正確聲明 – Alex

+0

編輯,告訴你我怎麼在fuxing之前調用jquery –

回答

0

我猜你是與第二個覆蓋你的jQuery陣列,試着這樣做:

(function($) { 
    $.fn.foobar = function() { 
     console.log(true); 
    }; 
})(jQuery); 

(function($) { 
      $.getScript("http://ajax.googleapis.com/ajax/libs/jquery/1.10.2/jquery.min.js", function() { 
      $('body').foobar(); 
     }); 
})(jQuery); 

working fiddle

+0

不..這是行不通 –

+0

什麼不行?你有同樣的錯誤嗎? – Alex

+0

是同樣的錯誤..我認爲問題出在(功能($){ $ .fn.foobar它自我..我不知道 –

0

在小提琴僅運行這些代碼,它運行良好。所以,我猜你的代碼可能在其他地方有一些錯誤。我建議你展示更多的代碼。

0

嘗試這樣的事情

<script src="jquery.js"> 
<script> 
    (function($) { 
     $.fn.foobar = function() { 
     // some code 
     }; 
    })(jQuery); 
    $(function(){ 
     jQuery('object').foobar(); 
    }) 
</script>