Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/image-processing/2.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 Greasemonkey addEventListener没有开火?_Javascript_Greasemonkey - Fatal编程技术网

Javascript Greasemonkey addEventListener没有开火?

Javascript Greasemonkey addEventListener没有开火?,javascript,greasemonkey,Javascript,Greasemonkey,我已经研究了关于这个的各种其他问题,它们都是通过使用addEventListener而不是onclick来解决的。我现在的问题是,这些事件根本不会发生 基本上,我的页面上有一个元素数组,这些元素是“按钮”,然后我用以下代码循环: for (var i = 0; i < buttons.length; i++) { buttons[i].className = "button"; buttons[i].style.width = "50px"; buttons[i].

我已经研究了关于这个的各种其他问题,它们都是通过使用addEventListener而不是onclick来解决的。我现在的问题是,这些事件根本不会发生

基本上,我的页面上有一个元素数组,这些元素是“按钮”,然后我用以下代码循环:

for (var i = 0; i < buttons.length; i++) {
    buttons[i].className = "button";
    buttons[i].style.width = "50px";
    buttons[i].href = "#";
    $(buttons[i]).bind('click',function (e) { alert("Hi"); }); //I have even tried jQuery. This isnt here when the line below is here.
    buttons[i].addEventListener('click',function (e) { alert("Hi"); },false);
}
for(变量i=0;i
见鬼,我甚至试着将它加载到一个标签中,但它根本不起作用,我不确定为什么。我在同一个页面上有另一个用户脚本,它能够用同样的方法完美地绑定到内容上


控制台中没有错误,只是什么也没有发生。但是,当我通过在函数末尾添加()来进行自调用时,它会在页面加载时运行代码,从而显示警报。

Hmm,我想这更多是关于如何调试greasemonkey代码的。我看不出密码有什么问题

我通常有一个函数来向firebug扔东西:

function GM_log(element) {
    unsafeWindow.console && unsafeWindow.console.log(element);
}
在本例中,我想知道是否选择了任何按钮,因此我将记录按钮数组,并在单击函数中记录一些内容(而不是警报)


另一种可能是在chrome中设置userscript,这允许您在那里调试代码(firebug不知道greasemonkey脚本代码)。但是定位/修改脚本比较困难,因此只有在您真正迷路的时候才需要这样做。

显示的代码片段没有明显的错误。发布或链接到完整的脚本。链接到目标页面,或将其快照粘贴到。。。如果在同一页上运行另一个脚本,则可能会干扰此脚本操作。把剧本也拿出来。