我知道有多种方法可以检测 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/