Javascript Dom 右键单击功能
Javascript Dom Right Click Function
这个问题已经在这里以简单的方式提出:Trigger right click using pure JavaScript,但是,none 的答案是我(显然是该线程的张贴者)所寻求的。
首先,这个问题不是关于事件的。我对知道如何收听右键单击事件(那将是 'contextemenu' 事件)不感兴趣。这是关于模拟右键单击任何 DOM 元素,只需使用浏览器控制台(chrome,在我的例子中),因此 JavaScript/DOM 操作。
话虽如此,我知道有一个简单的函数可以做同样的事情,除了它会触发左键 ("normal") 单击任何元素。
比如著名的...
我发现,如果您查看源代码,并以某种方式获得对复选框元素或包含它的 "div" 的引用,假设您获得了 ID,那么您创建了一个这样的变量...
myElement = document.getElementById('Id_here');
您只需在浏览器控制台中输入以下内容即可模拟点击:
myElement.click();
结果将是:
所以,我们模拟了一次真实的点击,解决了验证码,不需要鼠标,更重要的是,不需要人工(如果你在脚本上实现它)
现在的问题很简单...
有没有像我这样但需要右键单击的东西?
类似于 myElement.rightClick(); 或 myElement.contextClick();?
免责声明
这仅用于研究和知识目的。
是的,我在很多网站上搜索过,但他们总是谈论事件,跟我要求的完全不同。
如果有人能回答这个问题,我将不胜感激,即使答案是 "No, you can't "。但是,如果您要声明,请 100% 确定这是不可能的或似是而非的。 一如既往,提前致谢!
很简单:
var element = document.getElementById('Id_here');
if (window.CustomEvent) {
element.dispatchEvent(new CustomEvent('contextmenu'));
} else if (document.createEvent) {
var ev = document.createEvent('HTMLEvents');
ev.initEvent('contextmenu', true, false);
element.dispatchEvent(ev);
} else { // Internet Explorer
element.fireEvent('oncontextmenu');
}
这个问题已经在这里以简单的方式提出:Trigger right click using pure JavaScript,但是,none 的答案是我(显然是该线程的张贴者)所寻求的。
首先,这个问题不是关于事件的。我对知道如何收听右键单击事件(那将是 'contextemenu' 事件)不感兴趣。这是关于模拟右键单击任何 DOM 元素,只需使用浏览器控制台(chrome,在我的例子中),因此 JavaScript/DOM 操作。
话虽如此,我知道有一个简单的函数可以做同样的事情,除了它会触发左键 ("normal") 单击任何元素。 比如著名的...
我发现,如果您查看源代码,并以某种方式获得对复选框元素或包含它的 "div" 的引用,假设您获得了 ID,那么您创建了一个这样的变量...
myElement = document.getElementById('Id_here');
您只需在浏览器控制台中输入以下内容即可模拟点击:
myElement.click();
结果将是:
所以,我们模拟了一次真实的点击,解决了验证码,不需要鼠标,更重要的是,不需要人工(如果你在脚本上实现它)
现在的问题很简单...
有没有像我这样但需要右键单击的东西?
类似于 myElement.rightClick(); 或 myElement.contextClick();?
免责声明
这仅用于研究和知识目的。 是的,我在很多网站上搜索过,但他们总是谈论事件,跟我要求的完全不同。 如果有人能回答这个问题,我将不胜感激,即使答案是 "No, you can't "。但是,如果您要声明,请 100% 确定这是不可能的或似是而非的。 一如既往,提前致谢!
很简单:
var element = document.getElementById('Id_here');
if (window.CustomEvent) {
element.dispatchEvent(new CustomEvent('contextmenu'));
} else if (document.createEvent) {
var ev = document.createEvent('HTMLEvents');
ev.initEvent('contextmenu', true, false);
element.dispatchEvent(ev);
} else { // Internet Explorer
element.fireEvent('oncontextmenu');
}