为了账号安全,请及时绑定邮箱和手机立即绑定

function data(e)的作用

 <script type="text/javascript">
    //不同函数传递数据
    function data(e) {
        $(this).find('p:last').html('数据:' + e.data)
    }

    function a() {
        $(".right").mousemove(1111, data )
    }
    a();
    </script>

上面代码中function data(e) { $(this).find('p:last').html('数据:' + e.data)   } 注释后并不影响显示效果,想知道这段代码存在的意义?是想表达什么

正在回答

3 回答

如果你把这个代码单独放到一个文件中运行,会发现注释后是不会显示的,这里不影响显示效果是因为页面缓存的原因

<script type="text/javascript">
    //不同函数传递数据
    function b(e) {
        $(this).find('p:last').html('数据:' + e.data)//e.data指下面调用b函数前面的参数1111
    }

    function a() {
        $(".right").mousemove(1111, b)
    }
    a();
    </script>


1 回复 有任何疑惑可以回复我~
#1

慕柯 提问者

谢谢 ,mousemove(1111, b) 里面的参数b是指b函数?表示函数为什么没有括号?
2016-08-24 回复 有任何疑惑可以回复我~
#2

素水凌心 回复 慕柯 提问者

这里b是参数,传递的是函数对象,就是说这里传递的是回调函数,并不是调用b函数来执行,加括号的就相当于是执行完函数后的返回值,一般参数是函数的时候都不加括号的,比如之前的hover事件,需要传递两个回调函数 <script> function handin() { $(this).css("background", 'red'); } function handout() { $(this).css("background", '#bbffaa'); } $("#div").hover(handin,handout);//这里就不能加括号 </script>
2016-08-24 回复 有任何疑惑可以回复我~
#3

慕柯 提问者 回复 素水凌心

get,非常谢谢你!
2016-08-24 回复 有任何疑惑可以回复我~
<script type="text/javascript">
    //不同函数传递数据
    function data(e) {
        $(this).find('p:last').html('数据:' + e.data)  //e.data指向下面的1111
    }
 
    function a() {
        $(".right").mousemove(1111, data )  // 这里的1111作为参数值 被data所调用
    }
    a();
    </script>


0 回复 有任何疑惑可以回复我~

第一个函数的e.data 所指向的是下面a函数的 1111这个参数。

然后这段代码存在的意义的话,是为了给你演示如何解决不同作用域下数据传递的问题以及mousemove的用法,其他的类似mouseenter,mouseleave都是同理。

0 回复 有任何疑惑可以回复我~

举报

0/150
提交
取消
jQuery基础(三)—事件篇
  • 参与学习       89997    人
  • 解答问题       625    个

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

进入课程

function data(e)的作用

我要回答 关注问题
意见反馈 帮助中心 APP下载
官方微信