Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/408.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 来自外部的Ag网格触发事件_Javascript_Ag Grid_Jquery Events - Fatal编程技术网

Javascript 来自外部的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文件触发这些事件,在这个文件中我甚至没有

我在ag电网公司工作。我在我的
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文件中处理图表数据。