对这个表示不理解

来源:5-3 卸载事件off()方法

Mr_小陈

2016-12-21 15:53

我用的火狐浏览器,为什么我这边没有点击按钮事件,代码就自动执行了

写回答 关注

2回答

  • rainy_li3676598
    2016-12-21 16:28:02
    已采纳

    你的代码里面肯定在触发事件的后面, 函数前面没有加 function () { 需要执行的函数};

    如果你不加function, 就是立即执行, 不管你有没有触发你指定的事件, 

    如果不想加function 在函数前面也可以, 如果你自定义的函数里面, 没有参数, 那么你去掉( ) 这两个括号 ,  那么这个函数名就类似于一个指针 的作用,不触发事件, 就不执行函数。

    打个比方:  p.onmouseover=alert("OK")  ;那么 你只要打开网页, 就会弹出 "ok" 的弹出框

    但写百 p.onmouseover=alert; 那么你的鼠标放到对应 的p元素上, 才会弹框

    Mr_小陈

    非常感谢!

    2016-12-21 21:13:54

    共 1 条回复 >

  • rainy_li3676598
    2016-12-21 16:31:30

    说错了一点,如果最后一种写法应该是这样解释:

    p.onmouseover=test();    // 写成这样,会立即执行,不管你有没有放鼠标

    p.onmouseover=test;    // 这样写, 就只有在鼠标经过时才执行函数, 

    当然你还是要定义一个下面的函数

    function test() { alert("OK");}

    没有看到你的源码, 我只能这样举例, 因为这个问题我也遇到过。 

jQuery基础(三)—事件篇

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

89986 学习 · 645 问题

查看课程

相似问题