我需要创建一个函数来执行一些数据更新并重新渲染到handsontalbe(var ht = new Handsontable(el,options)
)的渲染实例。我可以很容易地得到的是el
(用作实例容器的元素)。只知道ht
是否可以获得el
?或者我必须记住" ht
某处可以在以后访问它?
(我已尝试Handsontable(el)
并创建了一个新表,但它没有返回已创建的实例)
答案 0 :(得分:3)
如果你使用jQuery,你应该能够这样做:
// Instead of creating a new Handsontable instance
// with the container element passed as an argument,
// you can simply call .handsontable method on a jQuery DOM object.
var $container = $("#example1");
$container.handsontable({
data: getData(),
rowHeaders: true,
colHeaders: true,
contextMenu: true
});
// This way, you can access Handsontable api methods by passing their names as an argument, e.g.:
var hotInstance = $("#example1").handsontable('getInstance');
以下是文档链接:https://docs.handsontable.com/pro/1.13.0/demo-jquery.html
答案 1 :(得分:2)
您无法从构建它的DOM元素中获取handsontable对象。 handsontable实例只是一个包装器,它控制DOM元素以供查看,而该元素没有引用它的包装器。
这意味着您确实需要将您的引用存储在ht
某处,就像您将其他变量一样。
如果您的问题是作用域,请将表格作为窗口对象的属性,并且可以从页面的任何位置访问它。这可以简单地使用:
window.ht = new Handsontable(el,options)
但是,如果可能的话,避免制作这样的全局变量并将其保持在适当的范围内。