Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/369.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 控制台中模拟调用mousedown_Javascript_Reactjs_Onmousedown - Fatal编程技术网

Javascript 控制台中模拟调用mousedown

Javascript 控制台中模拟调用mousedown,javascript,reactjs,onmousedown,Javascript,Reactjs,Onmousedown,页面上有一个div元素,通过单击它,可以创建一个菜单,其中包含显示的元素数量的选择 菜单: 如何通过控制台调用此操作(onMouseDown React)? 代码: 在控制台中,您希望抓取您的元素,然后使用分派事件模拟鼠标悬停或单击 var div = document.querySelector("#myDiv"); var myEventToDispatch = new MouseEvent("click"); //or "mousedow

页面上有一个div元素,通过单击它,可以创建一个菜单,其中包含显示的元素数量的选择

菜单:

如何通过控制台调用此操作(onMouseDown React)? 代码:

在控制台中,您希望抓取您的元素,然后使用分派事件模拟鼠标悬停或单击

var div = document.querySelector("#myDiv");
var myEventToDispatch = new MouseEvent("click"); //or "mousedown", whichever you need
div.dispatchEvent(myEventToDispatch);
<pre><code>
var MENU = IFrame.contentDocument.getElementsByClassName("class box menu")[0]; // getElementsById, getElementsByTag[0] ....
MENU = MENU.getElementsByTagName("div");
var MaxList = MENU[1].getElementsByTagName("input")[0];
if(MaxList != undefined)
{
    if(MENU[0].textContent != "100 items")
    {
        // focus menu
        MaxList.focus();
        var e = new KeyboardEvent(
            "keydown", 
            {
                bubbles : true, 
                cancelable : true, 
                key : "ArrowDown", 
                char : "ArrowDown", 
                shiftKey : true
            }
        );
        
        // scroll down the list
        MaxList.dispatchEvent(e);
        MaxList.dispatchEvent(e);
        MaxList.dispatchEvent(e);
        
        // choice
        e = new KeyboardEvent(
            "keydown", 
            {
                bubbles : true, 
                cancelable : true, 
                key : "Enter", 
                char : "Enter", 
                shiftKey : true
            }
        );
        MaxList.dispatchEvent(e);                   
    }
}
</code></pre>
控制台中的这三行应该就可以了。
签出:有关更多选项

找到了解决方案,在实践中有效。该站点上的菜单实现由几个嵌套的div和一个输入组成。这些元素都没有响应click()函数。下面的解决方案解决了我的问题以及我需要采取的下一步行动

VKomyak(伏特书呆子)


我正在为网站编写一个chrome扩展,我需要的第一步是显示网站上的所有元素。菜单已经被编写为对onMouseDown事件做出反应,单击不起作用。我正在为站点编写一个chrome扩展,我需要的第一步是显示站点上的所有元素。菜单已写入以对onMouseDown事件作出反应,单击不起作用。