将e修改成this好像完全不影响结果,那么e和this区别在哪呢?

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

新手村上路

2019-01-13 04:48

<!DOCTYPE html>

<html>


<head>

    <meta http-equiv="Content-type" content="text/html; charset=utf-8" />

    <title></title>

    <style>

    .test2 {

        background: #bbffaa;

    }

    .test3 {

        background: yellow;

    }

    .test2,.test3{

        border: 1px solid red;

    }

    </style>

    <script src="https://www.imooc.com/static/lib/jquery/1.9.1/jquery.js"></script>

</head>


<body>

    <h2>.click()方法</h2>


    <h4>测试一</h4>

    <button>元素绑定事件,弹出回调中的this</button>

    <script type="text/javascript">

        //this指向button元素

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

            alert(this)

        })

    </script>




    <h4>测试二</h4>

    <div class="test2">

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

    </div>

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

    <script type="text/javascript">

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

            alert(this.textContent)

        })

        //this指向button元素

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

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

        })

    </script>




    <h4>测试三</h4>

    <div class="test3">

        <p>$('.right').click(1111, set)</p>

    </div>


    <button>不同函数传递数据</button>

    <script type="text/javascript">


        //不同函数传递数据

        function data(e) {

            alert(e.data) //1111

        }


        function a() {

            $("button:eq(2)").click(1111, data)

        }

        a();


    </script>





</body>


</html>


写回答 关注

2回答

  • gujiwuqing
    2019-01-15 17:39:52
    已采纳

    应该是alert($(this))吧

  • 美乐居士
    2019-08-13 11:03:05

    this是随时变化的,它指向的总是当前触发的事件,而e.target则是仅仅指向触发该事件的节点。

jQuery基础(三)—事件篇

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

89997 学习 · 625 问题

查看课程

相似问题