jQuery中event.target和this的区别详解
this和event.target的区别:
1.js中事件是会冒泡的,所以this是可以变化的,但event.target不会变化,它永远指向触发事件的DOM元素本身;
2.this和event.target都是dom对象,使用jQuey中的方法可以将他们转换为jquery对象:$(this)和$(event.target).
比如,一个很简单的例子.
$(event.target)指向触发事件的元素.当点击蓝色小方框时,蓝色小方框会变成橙色,但其外围的大方框不会变色,即没有触发事件的冒泡行为.
点击前:
*{ margin:0; padding:0; } #big{ width:200px; height:200px; background-color:gray; } #small{ width:100px; height:100px; background-color:blue; margin:0auto; }
$(this)指向触发事件的元素.当点击蓝色小方框时,蓝色小方框会变橙色,同时其外围的灰色大方框也会变成橙色,也就是说当用this获取触发事件的元素会引起事件的冒泡.
点击前:
*{ margin:0; padding:0; } #big{ width:200px; height:200px; background-color:gray; } #small{ width:100px; height:100px; background-color:blue; margin:0auto; }