gpt4 book ai didi

javascript - 模拟 shift-mouseclick

转载 作者:数据小太阳 更新时间:2023-10-29 06:10:38 24 4
gpt4 key购买 nike

有没有办法以某种方式模拟 Shift+Click?

此代码运行良好,但目前没有 shift:

//--- Get the first link that has "stackoverflow" in its URL.
var targetNode = document.querySelector ("a[href*='stackoverflow']");
if (targetNode) {
//--- Simulate a natural mouse-click sequence.
triggerMouseEvent (targetNode, "mouseover");
triggerMouseEvent (targetNode, "mousedown");
triggerMouseEvent (targetNode, "mouseup");
triggerMouseEvent (targetNode, "click");
}

function triggerMouseEvent (node, eventType) {
var clickEvent = document.createEvent ('MouseEvents');
clickEvent.initEvent (eventType, true, true);
node.dispatchEvent (clickEvent);
}

最佳答案

更新:如果要触发shift+click事件,可以看这篇帖子

shift mouse click trigger

如果你想模拟shift+click,那么你应该使用initMouseEvent而不是initEvent。检查以下 fiddle 。

https://jsfiddle.net/zqdftehw/2/

引用资料:

https://developer.mozilla.org/en-US/docs/Web/API/MouseEvent/initMouseEvent http://marcgrabanski.com/simulating-mouse-click-events-in-javascript/

如果你想知道是否按下了 shift 键,那么下面的方法就可以了,

<div id="test"></div>

<script>
document.getElementById("test").addEventListener("click", function( event ) {
if (event.shiftKey) {
console.log('shift pressed');
} else {
console.log('shift not pressed');
}
}, false);
</script>

引用:https://developer.mozilla.org/en/docs/Web/Events/click

JSFiddle:https://jsfiddle.net/zqdftehw/1/

注意:initEvent 和 initMouseEvent 均已弃用,因此您可能希望使用其他堆栈溢出答案 (link mentioned above) 中提供的 jQuery 解决方案,以确保安全。

关于javascript - 模拟 shift-mouseclick,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35190723/

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