Javascript 来自外部的Ag网格触发事件
我在ag电网公司工作。我在我的Javascript 来自外部的Ag网格触发事件,javascript,ag-grid,jquery-events,Javascript,Ag Grid,Jquery Events,我在ag电网公司工作。我在我的gridOptions中定义了事件处理程序: gridOptions = { ... onCellEditingStarted: function (event) { /* magic happens!*/ }, onCellEditingStopped: function (event) { /* magic happens!*/ } ... } 当单元格编辑开始/停止时,一切都很好。但在某个时刻,我需要从另一个.js文件触发这些事件,在这个文件中我甚至没有
gridOptions
中定义了事件处理程序:
gridOptions =
{
...
onCellEditingStarted: function (event) { /* magic happens!*/ },
onCellEditingStopped: function (event) { /* magic happens!*/ }
...
}
当单元格编辑开始/停止时,一切都很好。但在某个时刻,我需要从另一个.js文件触发这些事件,在这个文件中我甚至没有ag网格实例
我正在尝试这样的事情:
$(window).trigger('cellEditingStopped');
that.OnCellEditingStop = new Event('cell-editing-stop');
$('#gridContainer').trigger('cell-editing-stop');
但不幸的是,它不起作用。我做错了什么?是否有可能以这种方式触发ag grid的事件,或者我需要编写更多的代码?这是我找到的实现我的目标的解决方案:
gridOptions =
{
...
onCellEditingStarted: function (event) { /* magic happens!*/ },
onCellEditingStopped: function (event) { /* magic happens!*/ }
onGridReady: function() {
$('#gridContainer').off("cell-editing-stop");
$('#gridContainer').on("cell-editing-stop", function () {
gridOptions.api.stopEditing();
});
},
...
}
因此,在我的另一个文件中,我可以这样做:
$(window).trigger('cellEditingStopped');
that.OnCellEditingStop = new Event('cell-editing-stop');
$('#gridContainer').trigger('cell-editing-stop');
这个解决方案对我来说看起来很干净,而且我不必以某种方式将我的网格实例移动到另一个文件中。希望它能以某种方式帮助其他人您需要附加对象引用,以便可以从其他JS文件访问网格。是的,没有引用就不可能触发事件。我找到了解决问题的办法。稍后将为其他用户编写答案即使我也在以同样的方式进行操作,因为我在多个JS文件中处理图表数据。