2012-06-22 54 views
0

我收到此錯誤方法:的jQuery + handsontable:有 '上'

uncaught TypeError: Object [object Object] has no method 'on' 

在jquery.handsontable.js:2258

我已經得到的東西設置,看起來像這樣:

<script src="/javascripts/jquery-1.5.1.min.js" type="text/javascript"></script> 
<script src="/javascripts/jquery-ui-1.8.12.custom.min.js" type="text/javascript"></script> 
<script src="/javascripts/jquery.handsontable.js" type="text/javascript"></script> 
<script src="/javascripts/jquery.simplemodal.1.4.1.min.js" type="text/javascript"></script> 
<script type="text/javascript"> 
    var $j = jQuery.noConflict(); 
</script> 

<div id="dataTable" class="dataTable"></div> 
<script> 
$j("#dataTable").handsontable(); 
var data = [ 
     ["", "Kia", "Nissan", "Toyota", "Honda"], 
     ["2008", 10, 11, 12, 13], 
     ["2009", 20, 11, 14, 13], 
     ["2010", 30, 15, 12, 13] 
]; 
$j("#dataTable").handsontable("loadData", data); 
</script> 
+0

如果您有新問題需要幫助,請使用[Ask Question](http://stackoverflow.com/questions/ask)鏈接。 –

回答

2

的handsontable插件需要jQuery的1.9+由於使用的.on和舊版本的jQuery不可用其他的方法。

您可以創建一個小腳本,該腳本實現 .on以在適當的地方使用 .bind.delegate

+0

謝謝我沒有意識到這一點,並且handontable沒有提到任何事情。我會盡快答覆! – bdeonovic

+0

現在我得到了不同的錯誤=(看編輯 – bdeonovic

+0

請確保你的路徑jQuery.js是正確的,你的代碼看起來不錯 –

5

你可能需要的jQuery 1.7

的jQuery 1.5沒有.on方法。它被引入來代替.live()併爲常規與委託事件處理提供更一致的接口。

請注意,如果廣泛使用的.attr()你可能需要修改你的代碼在一些地方使用.prop()代替 - jQuery的1.6引入了重大變化的方式.attr()作品。