问答详情
源自:2-2 jQuery鼠标事件之mousedown与mouseup事件

点击测试二的P元素内容弹出与点击测试三P元素不弹出

测试二中,点击P元素可以弹出P元素中的内容“$('button:first').mousedown(function(e) {alert(this)})”这个可以理解:因为下面有绑定P元素的mousedown事件。那为什么点击测试三的P元素就不可以弹出信息”$('.right').mousedown(1111, set)“,之前不是已经绑定过P元素了吗?

提问者:T松子 2018-09-06 17:40

个回答

  • 水秋玄
    2018-09-07 16:23:07
    已采纳

    因为绑定P元素的事件是在第一个P元素之后,按顺序执行,它找不到后面的P,所以执行这段点击事件只会找到前面的那个P,不会找到后面的P。

    想要后面的P元素也绑定点击事件就必须把绑定事件的代码放到最后面(就可以绑定所有的P元素),或者变着这样:

    $(function(){
        $('p').mousedown(function(e) {
            alert(e.target.textContent);
        });
    });

    文档加载完后再执行代码,就可以都绑定了。