一般在网页上会有不少节点的数据是根据数据库的数据进行更新的,这种节点都由js文件控制进行动态生成,那么绑定点击事件的代码块会比生成节点的代码块先执行,那后生成的节点就不会被绑定上事件,这时候需要用到监听的方法,代码如下:
需求是:
点击class为a的节点隐藏掉节点为b所对应的内容展示a所对应的内容,点击class为b的节点则反之
window.addEventListener("click",function(ev){
var ev=ev||window.event;
var tag=ev.target||ev.srcElement;
if (tag.className=='class'){
$('.a').addClass('hide').removeClass('show');
$('.b').addClass('show').removeClass('hide');
}
},false);
这里用到了event.target的方法,通过监听点击的节点来判定是否为class为a或者b。
这里的target不同于this,this是谁调用就指向谁,而target则指向当前点击的这个对象,可以console.log一下上面代码的tag,会发现下面是有关于这个节点的各项信息