防止函数执行或删除匿名事件监听器。

问题描述 投票:0回答:1

我正在为一个没有开放API的网站创建一个Chrome扩展,所以我陷入了阅读的困境 结案汇编 意粉代码很长时间了。我已经取得了很多进展,但我似乎被卡住了。在页面的onload上,这个函数会执行。

function comments_initReply(){
    var b=$("#ajax_comm div.com");
    for(var a=0;a<b.length;a++){var d=$(b[a]);
    var c=d.find(".commentReplyLink");
    if(c.length){
        d.on("dblclick",function(){$(this).closest("div.com").find(".commentReplyLink").click()}).find(".t")}
    }
} 

它的作用是把网站上的一个评论div变成一个大的可双击的区域 让你可以打开一个回复。我想做的就是去掉双击属性,让你可以双击文本并高亮显示,而不是打开一个回复模式对话框。

由于函数是匿名的,所以不能使用 removeEventListener 来分离它。有什么想法吗?我宁愿不使用jQuery。

javascript google-chrome google-chrome-extension dom-events onload
1个回答
1
投票

好吧,虽然你喜欢不使用jQuery,但是使用jQuery就方便多了,我这里的解决方案将以jQuery为基础,如果你愿意的话,可以随意将其转换成普通的Javascript。

function comments_endReply() {
    $("#ajax_comm div.com").off("dblclick");
}
© www.soinside.com 2019 - 2024. All rights reserved.