测试一里的代码改成 $("h2").next().click(function(){ alert(this.innerHTML); }); $("button:eq(0)").click(function() { $("h2").next().click(); }); 达到的效果跟测试二一样,那谁能告诉我this和event.target的区别,我百度别人说是this是变化的,而event.target总是触发事件的元素,这个理解不了,有实际例子吗?
this指的是绑定事件函数的那个对象,而e.target指的是事件发生的真正目标对象。多用在事件委托上。父级元素绑定事件,子级元素作为点击目标对象。this指的是父级元素,而e.target指的是子级元素。例如,一个div里面有一个列表,对div绑定一个点击事件,让里面的li点击发生变色,我们不需要对每个li进行绑定,只需要给div绑定事件,然后让e.target.style.backgroundColor改变就可以实现。