Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/user-interface/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中删除事件处理程序_Javascript_Jquery_Greasemonkey - Fatal编程技术网

Javascript 从Greasemonkey中删除事件处理程序

Javascript 从Greasemonkey中删除事件处理程序,javascript,jquery,greasemonkey,Javascript,Jquery,Greasemonkey,有一个页面在页面脚本中定义了一个悬停事件,如下所示: $(".post.fade").hover(function () { $(this).addClass("over"); },function () { $(this).removeClass("over"); }); 我想删除那个处理器,因为它很烦人。但是,尽管$(.post.fade”).unbind()从Firebug控制台内部工作,而不是从Greasemonekey。我确信jQuery加载正确,因为$(“.post

有一个页面在页面脚本中定义了一个悬停事件,如下所示:

$(".post.fade").hover(function () {
    $(this).addClass("over");
},function () {
    $(this).removeClass("over");
});
我想删除那个处理器,因为它很烦人。但是,尽管
$(.post.fade”).unbind()从Firebug控制台内部工作,而不是从Greasemonekey。我确信jQuery加载正确,因为
$(“.post.fade”).remove():
可以工作

我想Greasemonkey没有访问页面事件处理程序之类的权限。我试过不安全的窗户,但还是不起作用

有办法吗

编辑:


显然,解决方案是将代码放在
$(document.ready()
中。但不知道为什么。是的,unsafeWindow仍然是必需的。

显然,解决方案是将代码放入$(document).ready()中。但不知道为什么。是的,unsafeWindow仍然是必需的。

这可能是一个愚蠢的问题,但你已经放弃了jQuery document ready函数中的.unbind()。是吗?@Christian Varga:不,我没有,现在我有了,它可以工作了,但只适用于unsafeWindow。为什么呢?我还以为Greasemonkey会在“DOM ready”上开火呢?或者这与“ready”不同?我猜greasemonkey在DOM ready上启动,但仍然在jQuery文档就绪之前启动。因此,在绑定之前调用unbind。不过我可能错了:请你把你的解决方案向下移动到一个答案,这样我们就可以从未回答的列表中删除这个问题了吗?谢谢