javascript - 如何以编程方式单击元素并将单击事件发送到另一个函数?
问题描述
我有一种情况,点击的响应是这样处理的:
//File A
$(document).on("click", function(evt) {
if (validateEvent(evt)) {submitEvent(evt.target); return(false);};
});
我需要以编程方式单击文档上的元素:
//File B
$('#myButton').click();
但不幸的是.click()
on 元素不会触发$(document).on("click")
代码,只会触发元素的点击处理程序。
我怎么可能
- 单击元素,捕获该事件,然后将事件发送到
validateEvent()
函数。 - 在元素上创建一个单击事件以发送到
validateEvent()
函数。 - 触发文档的点击处理程序并告诉它该事件属于该
#myButton
元素?
解决方案
您可以使用dispatchEvent
在元素 #myButton 上调度事件,如下所示:
var clickEvent = new Event('click');
$('#myButton')[0].dispatchEvent(clickEvent);
推荐阅读
- powershell - 将此 curl 命令与 Invoke-webrequest 一起使用?
- webpack - Webpack、SASS 和 FontAwesome 的问题
- vba - 从损坏的 vba pptm 文件中恢复代码模块
- tensorflow - 如何在我的 GPU 而不是我的 CPU 上运行 ImageAI
- visual-studio-code - emmet.triggerExpansionOnTab 进入可视模式
- ios - 未定义符号:Swift.UInt8 的标称类型描述符
- javascript - 使用枚举引用获取正确的数组值
- c# - ASP.NET:单元测试控制器失败,因为默认响应为空
- solidity - 如何将输入的值从映射对应返回到地址 [msg.sender]
- java - NoSuchFieldError:更新spring框架依赖时的APPLICATION_CBOR