jquery + handsontable:没有'on'方法

时间:2012-06-22 19:51:44

标签: jquery handsontable

我收到了这个错误:

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

at 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>

2 个答案:

答案 0 :(得分:5)

你可能需要jQuery 1.7

jQuery 1.5没有.on方法。引入它是为了替换.live()并为常规与委托事件处理提供更一致的接口。

请注意,如果您大量使用.attr(),则可能需要修改代码以在某些地方使用.prop() - jQuery 1.6对.attr()的工作方式进行了重大更改。

答案 1 :(得分:2)

由于使用了.on以及旧版jQuery中没有的其他方法,handontable插件需要jQuery 1.9+。

您可以创建一个实现.on的小脚本,以便在适当的时候使用.bind.delegate