You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在TMS WEB Core中为TJSElement触发keyup事件?

在Delphi中触发TJSElement的keyup事件

原JavaScript实现

layTable.querySelector(".dataTable-input").dispatchEvent(new Event("keyup"));

Delphi对应实现代码

在Delphi中,你需要先创建对应的TJSEvent实例,再将其作为参数传入dispatchEvent方法,完整代码如下:

var
  InputElement: TJSElement;
  KeyupEvent: TJSEvent;
begin
  // 获取目标输入元素
  InputElement := layTable.ElementHandle.querySelector('.dataTable-input') as TJSElement;
  
  if Assigned(InputElement) then
  begin
    // 构建keyup事件,对应JS中的new Event("keyup")
    KeyupEvent := TJSEvent.Create('keyup');
    try
      // 触发事件
      InputElement.dispatchEvent(KeyupEvent);
    finally
      // 释放事件对象
      KeyupEvent.Free;
    end;
  end;
end;

关键说明

  • 先通过querySelector获取目标元素后,需要做非空判断避免空指针错误
  • TJSEvent.Create('keyup')等价于JS里的new Event("keyup"),直接传入事件类型名称即可
  • Delphi中创建的JS对象需要手动释放,所以用try-finally块确保资源回收

内容的提问来源于stack exchange,提问作者Shaun Roselt

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.23 03:06:05