0

我收到此错误:

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

2 回答 2

5

你可能需要 jQuery 1.7

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

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

于 2012-06-22T19:53:56.480 回答
2

Handsontable 插件需要 jQuery 1.9+,因为它使用了.on旧版本 jQuery 中没有的其他方法。

您可以创建一个小脚本,.on以便在适当.bind.delegate地方使用。

于 2012-06-22T19:53:43.897 回答