问答详情
源自:2-4 jQuery鼠标事件之mouseover与mouseout事件

求解测试三

两个函数先执行哪个,传入数据是e.data,那么a()('data = 慕课网', data)是什么,不太理解这两个地方

提问者:慕粉小妞 2016-12-23 19:41

个回答

  • 我就叫李二毛
    2017-01-12 17:21:35

     target 属性规定哪个 DOM 元素触发了该事件。 e.target是引发事件的元素。 所以第二段代码中的 e.target就是p元素。e.target.textContent就是弹出p标签的中的文本内容。

    function data(e) {   //定义一个函数 data。传入参数e。
               alert(e.data) //1111  弹出,e.data
           }

           function a() {   //定义函数a
               $("button:eq(2)").click(1111, data)

        //  点击按钮,传入1111(注意这个传入的1111是click函数里的eventData,这个是返回绑定当前事件处理函数时传递的附加数据。其类型取决于在绑定当前事件处理函数时所传入的附加数据的类型。),因为后面的data没有带括号,所以这是一个赋值操作,测试三的函数部分其实可以这样写。

      function a() {  
               $("button:eq(2)").mouseover(1111, function data(e) { 
               alert(e.data) 
           }
     }
    这样就很明显了。 e.data 就是1111.

           a(); //调用a 方法。


  • 摩西马龙
    2016-12-23 22:08:02

    a()('data = 慕课网', data) 第一个参数 data=慕课网 就是e.data  第二个参数data是函数   a( );函数a处于调用状态,mouseover 鼠标移入$(".right p:first")这个对象则会调用data函数  每移入一次,data函数调用一次,n往上加1, $(".right p:first")这个对象里的html则相应的变化一次。