gpt4 book ai didi

javascript - 调度点击事件并保留击键修饰符

转载 作者:行者123 更新时间:2023-11-30 06:54:29 25 4
gpt4 key购买 nike

我想监听特定元素上的点击事件,然后将其分派(dispatch)给链接元素,同时牢记元键是否被按住。

例如:
假设我有一张元素表。当用户点击一行时,我想点击一个链接,但如果用户有他的 /ctrl 我希望链接在新选项卡中打开按下键。

这看起来很简单,但我发现这很棘手......(因为我没有成功!)

最佳答案

DOM 事件 API 已经提供了您所需要的一切,假设您只需要记住来自合法用户操作的修改键。

使用 addEventListener 时要捕获一个事件,只需获取传递给您的处理程序函数的参数(DOMEvent 实例),然后使用 dispatchEvent 将其重新发送到您的目标元素。 :)

确实,DOMEvent 实例封装了它的源环境。更具体地说,一个 MouseEvent知道在触发时按下了哪些键。


演示:尝试点击 this JSfiddle 中的链接例如,同时按住 (或 ctrl,如果不是在 Mac 上)。

为了完整引用,这里是使用的代码:

var button = document.getElementById('source'),
target = document.getElementById('target');

function handler(evt) {
target.dispatchEvent(evt); // that's all the magic it takes
}

button.addEventListener(
'click', // listen to a click event
handler,
false // no capture, i.e. do not catch events before children
);​

您还可以找到 this complete reference on DOM events有用:)

关于javascript - 调度点击事件并保留击键修饰符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12443288/

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