goo*_*dev 4 javascript google-docs google-chrome-extension
在Google文档中,您可以打开大纲窗格并查看文档中的所有标题,也可以单击标题,然后视图将滚动到标题。
我的问题是如何在Chrome扩展程序中使用JS编程模拟鼠标单击,以将视图滚动到所需的标题?
我尝试了以下代码,但没有遇到任何意外:
// usage: eventFire(document.getElementById('mytest1'), 'click');
function eventFire(el, etype) {
if (el.fireEvent) {
el.fireEvent('on' + etype);
} else {
var evObj = document.createEvent('Events');
evObj.initEvent(etype, true, false);
el.dispatchEvent(evObj);
}
}
Run Code Online (Sandbox Code Playgroud)
标头是带有的div元素class="navigation-item-content navigation-item-level-2",当我查看chrome开发工具>事件监听器时,这些元素没有任何事件监听器。
从这个答案:
尝试使用此代码;它通过快速连续的mousedown,mouseup和在元素中心触发的click事件模拟在元素上的鼠标左键单击:
var simulateMouseEvent = function(element, eventName, coordX, coordY) {
element.dispatchEvent(new MouseEvent(eventName, {
view: window,
bubbles: true,
cancelable: true,
clientX: coordX,
clientY: coordY,
button: 0
}));
};
var elementToClick = document.querySelector('#mytest1');
var box = elementToClick.getBoundingClientRect(),
coordX = box.left + (box.right - box.left) / 2,
coordY = box.top + (box.bottom - box.top) / 2;
simulateMouseEvent (elementToClick, "mousedown", coordX, coordY);
simulateMouseEvent (elementToClick, "mouseup", coordX, coordY);
simulateMouseEvent (elementToClick, "click", coordX, coordY);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
207 次 |
| 最近记录: |