Javascript 如何在$(document).on()和$jquery中的(”a“).on()

Javascript 如何在$(document).on()和$jquery中的(”a“).on(),javascript,jquery,dom,onclicklistener,Javascript,Jquery,Dom,Onclicklistener,我正在实施扩展以记录所有浏览器操作。 $(document).on()在少数网站上运行,而$(“a”).on()在少数网站上运行。因此,我将两者都放在一个文件中,即dom.js。到目前为止,它正在记录两个动作。如何处理只记录一个操作 请帮帮我 var bindEventToneElement=函数(e){ var target=$(e.target.tagName); $(target).off().on('click',函数(e){ 警报(“目标”); 如果(e.target!==此)返回;

我正在实施扩展以记录所有浏览器操作。
$(document).on()
在少数网站上运行,而
$(“a”).on()
在少数网站上运行。因此,我将两者都放在一个文件中,即
dom.js
。到目前为止,它正在记录两个动作。如何处理只记录一个操作

请帮帮我

var bindEventToneElement=函数(e){
var target=$(e.target.tagName);
$(target).off().on('click',函数(e){
警报(“目标”);
如果(e.target!==此)返回;
//e.停止传播();
var-content=“”;
if($(this).text()!==未定义){
content=$(this.text();
}
if($(this.attr('href')==”“)| |($(this.attr('href')==“#”)| |($(this.attr('href')==”)=null)){
sendmsg(getPath(this),“单击”,“内容”,“链接”,traverseElement(this),window.location.href,getElementName(this));
}否则{
sendmsg($(this.attr('href'),“重定向”,'',内容,“链接”,遍历元素(this),window.location.href,getElementName(this));
}
$(目标).off();
$(document).off('click','a');
$(文档)。在('click','a');
美元(“a”)。在(‘点击’)上;
});
};
/**
*用于添加动态html内容的DomainNodeInserted事件
*/
$(document).on('DOMNodeInserted','a',bindEventToneElement);
/*
*单击定位标记并将事件附加到根级别文档的事件
*/
$(文档).on('click','a',函数(obj){
如果(obj.target!==此)返回;
//对象停止传播();
var-content=“”;
if($(this).text()!==未定义){
content=$(this.text();
}
if($(this.attr('href')==”“)| |($(this.attr('href')==“#”)| |($(this.attr('href')==”)=null)){
sendmsg(getPath(this),“单击”,“内容”,“链接”,traverseElement(this),window.location.href,getElementName(this));
}否则{
sendmsg($(this.attr('href'),“重定向”,'',内容,“链接”,遍历元素(this),window.location.href,getElementName(this));
}
});
/*
*单击锚标记并将事件处理程序直接附加到DOM的事件
*/
$(“a”)。在('click',函数(obj)上{
如果(obj.target!==此)返回;
var-content=“”;
if($(this).text()!==未定义){
content=$(this.text();
}
if($(this.attr('href')==”“)| |($(this.attr('href')==“#”)| |($(this.attr('href')==”)=null)){
sendmsg(getPath(this),“单击”,“内容”,“链接”,traverseElement(this),window.location.href,getElementName(this));
}否则{
sendmsg($(this.attr('href'),“重定向”,'',内容,“链接”,遍历元素(this),window.location.href,getElementName(this));
}
$(document).off('click','a');
});

/$(“a”)。在('click')注释掉这个。
$(文档)。在('click','a')
$(“a”)。在('click')什么都不要做。调用
.off()
不会像关闭灯泡那样暂时关闭现有的事件处理程序,它会删除事件处理程序,因此不能仅使用
.on('click')再次打开它。(只是猜测一下你认为代码的作用…)是的。问题是,如果它进入我想要的文档,$(“a”)是关闭的。因此,它将不会转到$(“a”),如果它首先进入$(“a”),我必须退出该文档,但我们必须再次进行其他工作。我说得对吗?DomNodeInserted我正在处理动态添加的html元素我做到了。:)@nnnnnnnn
/$(“a”)。在('click')注释掉这个。
$(文档)。在('click','a')
$(“a”)。在('click')什么都不要做。调用
.off()
不会像关闭灯泡那样暂时关闭现有的事件处理程序,它会删除事件处理程序,因此不能仅使用
.on('click')再次打开它。(只是猜测一下你认为代码的作用…)是的。问题是,如果它进入我想要的文档,$(“a”)是关闭的。因此,它将不会转到$(“a”),如果它首先进入$(“a”),我必须退出该文档,但我们必须再次进行其他工作。我说得对吗?DomNodeInserted我正在处理动态添加的html元素我做到了。:)@nnnnnn