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

jQuery如何触发带额外参数的click事件,原生JS如何实现同款功能

纯JavaScript实现带自定义参数触发click事件的方案探讨

在jQuery中你可以通过如下方式轻松实现该需求:

// 带参数触发click事件
jQuery(domElement).trigger( 'click', [ additionalParameters ] );

// 监听click事件并接收参数
jQuery( domElement ).on( 'click', function( event, parameters ) { 
    event.stopImmediatePropagation();
}

那么使用纯JavaScript该如何实现呢?
我们无法直接使用new CustomEvent,因为它不支持将click作为事件类型传入;也无法使用new MouseEvent,因为它不像CustomEvent那样支持传递自定义参数。
我们可以尝试如下方案:

// 带参数触发click事件
domElement.addEventListener("click", function(e) {
    var event = new CustomEvent("fakeClick", {'detail': {
        custom_info: 10,
        custom_property: 20
    }});
    this.dispatchEvent(event);
});

// 监听自定义事件接收参数
domElement.addEventListener('fakeClick', function(event) {
    var parameters = event.detail;
    event.stopImmediatePropagation();
}); 

但该方案存在问题:调用stopImmediatePropagation只会作用于我们自定义的fakeClick事件,无法作用到原生的click事件上,不符合我们的需求。
jQuery是如何实现这一能力的?应该存在对应的纯JavaScript实现方法。
补充:有用户提及了另一篇不相关的帖子,我实际想了解的是jQuery的实现逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.04 01:27:00