shift鼠标点击触发

问题描述 投票:0回答:3

我可以使用

element selector
 触发
trigger

上的点击事件
$('element selector').trigger('click')

是否可以触发shift点击。我的意思是 shift + 鼠标左键单击。

javascript jquery keyboard-events
3个回答
15
投票

尝试

var shiftClick = jQuery.Event("click");
shiftClick.shiftKey = true;

$("element selector").click(function(event) {
    if (event.shiftKey) {
       alert("Shift key is pressed");
    }
    else {
       alert('No shift hey');
    }
});

$("element selector").trigger(shiftClick);

JSFiddle


0
投票

您可以检查event.shiftKey布尔属性。

$("element selector").click(function(event) {
    if (event.shiftKey) {
       alert("Shift key is pressed");
    } 
});

演示


0
投票

最近我尝试使用 jQuery 3.7.1(我知道是 2024 年)来自动化“shift + 左键单击”交互,但在某些情况下由于某种原因它很不稳定。不知道为什么。 🤷🏻 所以我采用了下面更原生的解决方案,它对我有用:

const elem = document.querySelector('button');

// Listen for the event.
elem.addEventListener('click', event => {
  if (event.shiftKey) {
    alert('shift key is pressed when clicked');
    return;
  }
  
  alert('shift key NOT pressed when clicked');
});

// Dispatch the event.
const shiftClickEvent = new MouseEvent('click', { shiftKey: true });
elem.dispatchEvent(shiftClickEvent);

https://jsfiddle.net/glenn/tw3uo5xd/

© www.soinside.com 2019 - 2024. All rights reserved.