我们如何在浏览器控制台中为vue js元素触发shift+click

aemubtdh  于 2023-04-21  发布在  Vue.js
关注(0)|答案(1)|浏览(167)

我的项目是在laravel-mix-vue框架下开发的。
所以,我在Vue方面做了一些UI功能。
对于前任,

<template>
    //...
    <div @click.prevent="onClick($event)">click element</div>
    //...
</template>

<script>
   //...
   function onClick(event: MouseEvent) {
        if(event.shiftKey){
            console.log('shift key pressed');
        }
   }
   //...
</script>

所以,我想用shift键触发“click元素”div元素的click。
我试过下面的方法。但那对我不起作用。

var shiftClick = jQuery.Event( "click", { shiftKey: true } );
$("#testing-div").trigger(shiftClick);

我希望shift+click触发脚本或任何其他方式调用“click元素”div元素click与shift新闻。

0yg35tkg

0yg35tkg1#

我在javascript dispatchEvent中找到了这个解决方案。

function simulateClick({
  ctrl = false, alt = false, shift = false, meta = false
} = {}) {

  var evt = document.createEvent("MouseEvents");
  evt.initMouseEvent("click", true, true, window,
    0, 0, 0, 0, 0, ctrl, alt, shift, meta, 0, null);

  return evt;    
}

document.getElementById(...).dispatchEvent(simulateClick({shift: true}))

它在我的场景中起作用。所以现在我可以为特定的元素触发shift+click事件。

相关问题