gpt4 book ai didi

jquery - 如何在jQuery中触发自定义事件,传递原始事件和数据

转载 作者:行者123 更新时间:2023-12-01 02:33:56 26 4
gpt4 key购买 nike

我想在以下条件下从 native 事件的处理程序内触发自定义事件:

  • 我希望处理程序的格式为:function(event, arg) {} ,其中
  • event是原始的 native 事件(因此我可以调用 event.preventDefault() )
  • argtrigger 传递的一些数据er(在原始事件的处理程序中)
  • 两个事件(原生事件和自定义事件)均在同一元素上触发(因此自定义事件的名称必须与原始事件的名称不同)

我能够走到这一步,并且它有效:

// the native event handler 
function(event) {
var e = jQuery.Event("some_custom_event");
e.foo = 'bar';
$(this).trigger(e);
if (e.isDefaultPrevented())
event.preventDefault();
}

// an example handler for the custom event:
function (event) {
alert(event.foo);
event.preventDefault();
}

我想我也可以通过原始事件和 foo作为自定义事件处理程序的参数,但我想要一个标准外观的处理程序(没有 function(event1,event2 )。

我想要的事情可以在 jQuery 中(轻松地)完成吗?

最佳答案

trigger 函数有 2 种风格,我认为您应该查看第一种,其语法为 .trigger( eventType [, extraParameters] )

如果我理解正确,那么您需要做的是将 foo 作为附加参数传递,如下所示,

$(this).trigger(e, [foo]);

下面是 jQuery 文档的示例,

$("p").click( function (event, a, b) {
// when a normal click fires, a and b are undefined
// for a trigger like below a refers to "foo" and b refers to "bar"

} ).trigger("click", ["foo", "bar"]);

来自文档.. read more..

.trigger( eventType [, extraParameters] )

eventTypeA string containing a JavaScript event type, such as click or submit.

extraParametersAdditional parameters to pass along to the event handler.

关于jquery - 如何在jQuery中触发自定义事件,传递原始事件和数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9792648/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com