js模拟点击问题?

JavaScript014

js模拟点击问题?,第1张

你写法不能实现模拟点击事件的原因:

使用getElementsByClassName获取元素的结果是:相同class名元素数组。

正确姿势如下:

<div class="box"></div>

<script>

let box = document.getElementsByClassName('box')

console.log(box)

for (let index = 0index <box.lengthindex++) {

box[index].onclick = function(params) {

console.log(555555)

}

}

</script>

希望你采纳,编写不容易!

前提是该元素已绑定事件

如果没有事件,右键是系统默认的右键菜单

因此,先给元素绑定个右键事件:

再来模拟右键菜单

如果要实现系统级的右键菜单,只能借助其他方法,比如使用pywin32的

python实现鼠标右键

按以下步骤进行点击

document.body.onclick = function(){ e = arguments[0]var dt = e.target,stag = dt.tagName.toLowerCase()

document.getElementById("out").innerHTML = stag}var simulateClick = function(){ var evt = document.createEvent("MouseEvents")evt.initMouseEvent("click", true, true, window, 0, 0, 0, 80, 20, false, false, false, false, 0, null)

document.body.dispatchEvent(evt)}simulateClick()//Why it can not show "input" ?

遍历dom元素,记录每个元素的坐标,找到离(x,y)最近的且z-index最大一个元素,模拟这个dom元素的点击