T松子
2018-09-06 17:40
测试二中,点击P元素可以弹出P元素中的内容“$('button:first').mousedown(function(e) {alert(this)})”这个可以理解:因为下面有绑定P元素的mousedown事件。那为什么点击测试三的P元素就不可以弹出信息”$('.right').mousedown(1111, set)“,之前不是已经绑定过P元素了吗?
因为绑定P元素的事件是在第一个P元素之后,按顺序执行,它找不到后面的P,所以执行这段点击事件只会找到前面的那个P,不会找到后面的P。
想要后面的P元素也绑定点击事件就必须把绑定事件的代码放到最后面(就可以绑定所有的P元素),或者变着这样:
$(function(){ $('p').mousedown(function(e) { alert(e.target.textContent); }); });
文档加载完后再执行代码,就可以都绑定了。
jQuery基础(三)—事件篇
89997 学习 · 625 问题
相似问题