在preventDefault之后重新触发事件

编程入门 行业动态 更新时间:2024-10-24 06:33:51
本文介绍了在preventDefault之后重新触发事件的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧! 问题描述

我已经用preventDefault阻止了一个事件。现在我想重新抛出它。我尝试了fireEvent,但没有奏效。有没有办法实现这一点?

I have stopped an event with preventDefault. Now I want to rethrow it. I tried the fireEvent but that did not work. Is there a way to achieve this?

更新而不是fire事件,我创建了一个新的事件实例并使用elem.dispatchEvent(clickEvent );

UPDATE Instead of fire event I created a new instance of the event and used elem.dispatchEvent(clickEvent);

Event.addNativePreviewHandler(new Event.NativePreviewHandler() { public void onPreviewNativeEvent(NativePreviewEvent event) { if (event.getTypeInt() == Event.ONMOUSEDOWN) { Element elem = JSHelper.elementFromPoint(event.getNativeEvent().getClientX(), event.getNativeEvent().getClientY()); EventListener listener = Event.getEventListener(elem); if((listener instanceof ListBox)) { event.getNativeEvent().preventDefault(); //// ((ListBox) listener).fireEvent(event); int y = event.getNativeEvent().getClientY(); int x = event.getNativeEvent().getClientX(); int screenX = event.getNativeEvent().getScreenX(); int screenY = event.getNativeEvent().getScreenY(); NativeEvent clickEvent = Document.get().createMouseEvent( "click",true, false,0, screenX, screenY, x, y, false, false, false, false, NativeEvent.BUTTON_LEFT, elem); elem.dispatchEvent(clickEvent); } } } });

推荐答案

为什么你尝试再次解雇?试着调用你应该使用的事件处理函数

Why do u try to fire it again? Just try to call the event handler function you supposed to

更多推荐

在preventDefault之后重新触发事件

本文发布于:2023-10-27 00:11:16,感谢您对本站的认可!
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,我们将在24小时内删除。
本文标签:事件   preventDefault

发布评论

评论列表 (有 0 条评论)
草根站长

>www.elefans.com

编程频道|电子爱好者 - 技术资讯及电子产品介绍!