关于方法三的小小疑问,求解答

来源:2-4 jQuery鼠标事件之mouseover与mouseout事件

慕粉3686312

2016-09-06 00:26

<h4>测试三</h4>
    <div class="right">
        <div class="aaron2">
            <p>鼠标移动:不同函数传递数据</p>
            <a>进入元素内部,mouseover事件触发次数:</a>
        </div>
    </div>
    <br/>
    <script type="text/javascript">
        var n = 0;
        //不同函数传递数据
        function data(e) {
            $(".right a").html('mouseover事件触发次数:' + (++n) + '<br/> 传入数据为 :'+ e.data)
        }

        function a() {
            $(".right p:first").mouseover('data = 慕课网', data)
        }
        a();

    </script>

函数function data(e)以及函数function a()之间什么关系,谁先执行$(".right a")这代表在class=right下的a标签才能触发函数吗?

写回答 关注

3回答

  • 慕后端3081372
    2016-09-17 15:05:40

    这个++n是怎么实现的,怎么把function(a)里面的mouseove跟fun(e)联系起来的,我看只能data有联系啊

  • 雨宮奏
    2016-09-06 08:43:46

    可能写成下面的方式更容易看懂。

      function a() {   
         $(".right p:first").mouseover('data = 慕课网', function data(e) {
         $(".right a").html('mouseover事件触发次数:' + (++n) + '<br/> 传入数据为 :'+ e.data)
        })
       }

    jQueryObject.mouseover( [ [ data ,]  handler ] )接受两个参数,

    data 可选/任意   类型触发事件时,需要通过event.data传递给事件处理函数的任意数据

    handler  可选/Function类型    指定的事件处理函数。

     

    相当于在a()函数的点击事件中调用了data()函数。

    而data()函数里面的第一个参数e.data的值就等于 'data = 慕课网'。


    注:这里的e是window.event对象,一般在作为函数的第一个参数传入。


  • 慕粉4857125
    2016-09-06 08:25:41

    因为a();所以先调用function a()  将data=“慕课网” 赋值给data, 这时就相当于有了 data(data="慕课网"),所以执行data(e)方法  最后再根据e修改.right a里面的内容,这个不是靠a标签触发的。

    慕后端308...

    这个++n是怎么从下面fun(a)获取的

    2016-09-17 15:06:48

    共 2 条回复 >

jQuery基础(三)—事件篇

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

89997 学习 · 625 问题

查看课程

相似问题