javascript - 使用 Javascript 按住 Alt 键单击元素

标签 javascript click alt

我知道有多种方法可以检测 alt-click,但我很好奇 - 是否可以 alt-click 元素?

您可以调用单击事件调用的函数,但假设我们正在处理一些动态生成该函数并将其在呈现时放置在页面中的系统(或其他一些疯狂的解释)。

最佳答案

这可以在 vanilla JS 中使用 initMouseEvent 来完成:

event.initMouseEvent(type, canBubble, cancelable, view, 
                     detail, screenX, screenY, clientX, clientY, 
                     ctrlKey, altKey, shiftKey, metaKey, 
                     button, relatedTarget);

如您所见,参数十到十三将修饰键应用于以编程方式触发的鼠标事件。上面链接的 MDN 页面有一个关于如何实际使用 initMouseEvent 的小示例:

function simulateClick() {
    // create a new mouse event
    var evt = document.createEvent("MouseEvents");

    // initialize all the parameters of the event
    evt.initMouseEvent("click", true, true, window,
      0, 0, 0, 0, 0,
      false, false, false, false,  // ctrl, alt, shift, meta
      0, null);

    var cb = document.getElementById("checkbox");

    // actually fire the event on the `cb` element
    var canceled = !cb.dispatchEvent(evt);

    // if the event was cancelled...
    if(canceled) {
        //...
    }
}

请注意,较旧的 IE 版本仅支持 initEvent,这似乎不允许修改键选项。

关于javascript - 使用 Javascript 按住 Alt 键单击元素,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11095592/

相关文章:

javascript - 我需要将图像从一个目录保存到另一个目录,然后我陷入了无限循环

javascript - 自定义选择选项作为 mysql 填充下拉列表中的第一个选项

动态生成的链接上的 jQuery 事件

javascript - jQuery - .on ('click' ... ) 在处理动态创建的元素时不适用于现有元素

javascript - 对链接图像使用替代文本

html - 图片 Alt 和标题不显示,因为 Z-index

javascript - jQuery 更改用户的 img

javascript - 使用 Rxjs 的 `takeUntil` 自动取消订阅 - 无需等待发射?

android - 我可以以编程方式触发 View 的长按事件吗?

html - 在可访问性方面, <img src ="[srcpath]"alt =""> 与 <img src ="[srcpath]"alt> 相同吗?