如何在ag网格中使用javascript默认事件对象';s事件方法

如何在ag网格中使用javascript默认事件对象';s事件方法,javascript,angular,ag-grid,Javascript,Angular,Ag Grid,我是ag grid的新手,实际上我想在“cellEditingStopped”网格事件中调用event.preventDefault(),但我无法将默认javascript事件对象传递给它。有什么办法可以实现吗 此外,grid事件的对象也应该可用,因为它包含我需要用于db操作的行数据 任何帮助都将不胜感激 下面是我的代码 <ag-grid-angular id="timesheetInstructionGrid" [ngStyle] ="instru

我是ag grid的新手,实际上我想在“cellEditingStopped”网格事件中调用event.preventDefault(),但我无法将默认javascript事件对象传递给它。有什么办法可以实现吗

此外,grid事件的对象也应该可用,因为它包含我需要用于db操作的行数据

任何帮助都将不胜感激

下面是我的代码

<ag-grid-angular
          id="timesheetInstructionGrid"
          [ngStyle] ="instructionsGridStyle"
          style="width: 100%;" 
          class="ag-theme-balham no-wrap"
          [rowData]="timesheetInstructionsRowData" 
          [columnDefs]="timesheetInstructionsColumnDefs"
          [frameworkComponents]="frameworkComponents"
          [singleClickEdit]="true"
          [defaultColDef]="defaultColDef"
          [pagination]="true"
          [enableColResize]="true"
          [stopEditingWhenGridLosesFocus]="true"
          [overlayNoRowsTemplate]="overlayInstructionsTemplate"
          (gridReady)="onInstructionsGridReady($event)"
          [rowSelection]="rowSelection"
          [rowDeselection]="'true'"
          (rowSelected) = "onInstructionsRowSelected($event)"
          (cellClicked) = "onInstructionsCellClicked($event)"
          (cellValueChanged) = "onCellValueChanged($event)"
          (cellEditingStopped) = "instructionGridCellEditDone($event)"
          [domLayout]="domLayout"
          >
      </ag-grid-angular>

您应该能够将该对象作为处理程序的参数本身获取

看看我创建的plunk:

打开控制台并单击任意一行。我提供了
rowClicked
事件的示例

onRowClicked($event: RowClickedEvent) {
  console.log($event.event)  ;
}
这就是我在日志中看到的

MouseEvent {isTrusted: true, screenX: -776, screenY: 239, clientX: 310, clientY: 210, …}
altKey: false
bubbles: true
button: 0
buttons: 0
cancelBubble: false
cancelable: true
clientX: 310
clientY: 210
composed: true
ctrlKey: false
currentTarget: null
defaultPrevented: false
detail: 1
eventPhase: 0
fromElement: null
isTrusted: true
layerX: 45
layerY: 94
metaKey: false
movementX: 0
movementY: 0
offsetX: 45
offsetY: 11
pageX: 310
pageY: 210
path: (23) [span, div.ag-cell.ag-cell-not-inline-editing.ag-cell-with-height.right-align.ag-cell-value.ag-column-hover…, div.ag-row.ag-row-odd.ag-row-level-0.ag-row-position-absolute.ag-row-hover.ag-row-focus.ag-row-selec…, div.ag-body-container.ag-layout-normal, div.ag-body-viewport.ag-layout-normal, div.ag-body-viewport-wrapper.ag-layout-normal, div.ag-body.ag-layout-normal.ag-row-no-animation, div.ag-root.ag-font-style.ag-layout-normal, div.ag-root-wrapper-body.ag-layout-normal, div.ag-root-wrapper.ag-layout-normal.ag-ltr, ag-grid-angular#div_0_ag-grid-angular_0.ag-theme-balham.ag-grid-row-hover-actions, div#div_0.ag-grid-container, im-ag-grid, div, mat-card.mat-card.ng-star-inserted, im-test-app-grid-config-svc.ng-star-inserted, ruf-app-canvas, div.ng-star-inserted, im-test-app-root, body.desktop, html, document, Window]
relatedTarget: null
returnValue: true
screenX: -776
screenY: 239
shiftKey: false
sourceCapabilities: InputDeviceCapabilities {firesTouchEvents: false}
srcElement: span
target: span
timeStamp: 29035.00000014901
toElement: span
type: "click"
view: Window {postMessage: ƒ, blur: ƒ, focus: ƒ, close: ƒ, parent: Window, …}
which: 1
x: 310
y: 210

实际上你不需要它,因为它不是DOM事件,所以它不会自己冒泡。是的,我对“cellEditingStopped”事件也做了同样的处理。但在该方法中,$event.event的值为null。尽管如此,对于“rowClicked”事件,它仍然可以正常工作。正如@Amir所评论的,它不是一个DOM事件——它是由创建的自定义事件。因此,我们这里没有得到任何东西。是的,它是由ag grid创建的,但它有一些需要的东西,比如默认方法。