请问为什么改成这样不行?

来源:2-1 jQuery鼠标事件之click与dbclick事件

玩偶lpa

2017-03-02 15:59

<h4>测试二</h4>

    <div class="test2">

        <p>$('button:first').click(function(e) {alert(this)})</p>

    </div>

    <button>指定触发事件</button>

    <script type="text/javascript">

        $('p').click(function(e) {

            alert(e.target.textContent)

        })

        //this指向button元素

        $("button:eq(1)").click(function() {

            $('p').click() //指定触发绑定的事件

        })

    </script>

$("button:eq(1)").click(function() {

            $('p').click() //指定触发绑定的事件

改成

$('button:eq(1)'.click(function(e)){

        alert(e.target.textContent)

})

得到的结果却是”指定触发事件“,为什么不是”$('button:first').click(function(e) {alert(this)})“?

写回答 关注

1回答

  • 流浪滴汪汪汪
    2017-03-02 16:20:41
    已采纳

    e.target表示的是当前事件的触发DOM对象,你点的是button,所以e.target.textContent就是按钮上的内容。

    $('p').click()是触发p标签的点击事件,

    $('p').click(function(e) {

                alert(e.target.textContent)

            })这是p标签的点击事件的处理方式,alert(e.target.textContent)所以这里输出的是p标签的内容


    玩偶lpa

    非常感谢!

    2017-03-03 15:23:25

    共 2 条回复 >

jQuery基础(三)—事件篇

jQuery第三阶段开启事件修炼,掌握对页面进行交互的操作

89997 学习 · 625 问题

查看课程

相似问题