jquery + handsontable:没有方法'on' [关闭]

Posted

技术标签:

【中文标题】jquery + handsontable:没有方法\'on\' [关闭]【英文标题】:jquery + handsontable: has no method 'on' [closed]jquery + handsontable:没有方法'on' [关闭] 【发布时间】:2012-06-25 03:55:03 【问题描述】:

我收到此错误:

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>

【问题讨论】:

如果您有需要帮助的新问题,请使用 链接。 【参考方案1】:

你可能需要 jQuery 1.7

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

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

【讨论】:

【参考方案2】:

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

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

【讨论】:

感谢我不知道这一点,handsontable 没有提及任何相关内容。我会尽快回答这个问题! 我现在遇到不同的错误 =( 查看编辑 确保您的 jQuery.js 路径正确,您的代码看起来不错。 我想通了。如果您好奇,请在下面查看我的答案 当前 HOT 插件需要 jQuery 1.9+ 或 2.0+(也可以与 1.7+ 一起使用,但 IE10 github.com/warpech/jquery-handsontable/issues/410 存在已知问题)。

以上是关于jquery + handsontable:没有方法'on' [关闭]的主要内容,如果未能解决你的问题,请参考以下文章

如何在指令AngularJS中包装jQuery(默认)handsontable?

完全禁用handsontable

jquery .html() 仅从handsontable返回一些行

Handsontable:jquery 合并标题,水平滚动错误

如何使用 jQuery 将数据从 PHP 加载到 Handsontable?

我无法使用带有 jquery 的 Handsontable 加载数据