美文网首页
2019-05-28jQuery事件

2019-05-28jQuery事件

作者: 啊_6424 | 来源:发表于2019-05-28 22:48 被阅读0次

    在jQuery中,所有的函数(除了ajax)都可以通过jQuery对象进行调用
    事件以匿名函数处理时,匿名函数中的this是对应的标签本身,不是调用jQuery函数的jQuery对象
    如果在事件的匿名函数里想用jQuery对象,可以使用$(this)
    标签对象套在$(标签对象)里,得到的就是一个jQuery对象
    事件对象

      $("div").click(function(e){
        //var ev = e || window.event//不需要再写这一步了
        console.log(e);/
      })
    
    • 页面载入

    * ready(fn)

    $(document).ready(function(){
      // 在这里写你的代码...
    });
    

    相当于

    window.onload = function(){
    //在这里写你的代码...
    }
    

    一个html文件里,window.onload只能有一个,只能执行一次。但ready则没有这些限制

    • 事件处理

    * on(eve,[sel],[data],fn)1.7+

    添加事件。
    可添加n个相同事件(如点击),他们会按照顺序依次执行。
    jQuery对象调用时,分别给对象里的每个元素添加事件。

      <div></div>
      <div></div>
      $("div").on("click",function(){
        alert("点击了");
      })
    

    * off(eve,[sel],[fn])1.7+

    删除事件。
    不管有多少个(比如说是)点击事件,只要写一个点击事件的off就可以把添加的所有点击事件清除

      $(".container").on("click",function(){
        alert("第一次点击");
      })
      $(".container").on("click",function(){
        alert("第二次点击");
      })
      $(".container").off("click");
    

    点击container时,不会触发点击事件

    * bind(type,[data],fn)3.0-

    用on代替

    * unbind(t,[d|f])3.0-

    用off代替

    * one(type,[data],fn)

    这个事件处理函数只会被执行一次。
    这个事件处理函数会接收到一个事件对象,可以通过它来阻止(浏览器)默认的行为。
    如果既想取消默认的行为,又想阻止事件起泡,这个事件处理函数必须返回false。
    多数情况下,可以把事件处理函数定义为匿名函数。在不可能定义匿名函数的情况下,可以传递一个可选的数据对象作为第二个参数(而事件处理函数则作为第三个参数)。

      $("div").one("click",function(){
        alert("点击");
      })
    

    分别给每个div添加一个一次性的click处理函数,该函数只执行一次

    参数

    type:添加到元素的一个或多个事件。由空格分隔多个事件。必须是有效的事件。
    data:将要传递给事件处理函数的数据映射
    fn:每当事件触发时执行的函数。

    * trigger(type,[data])

    * triggerHandler(type, [data])

    • 事件切换

    * hover([over,]out)

    * toggle([spe],[eas],[fn])1.9*

    • 事件

    * blur([[data],fn])

    * change([[data],fn])

    * click([[data],fn])

    * dblclick([[data],fn])

    * error([[data],fn])1.8-

    * focus([[data],fn])

    * focusin([data],fn)

    * focusout([data],fn)

    * keydown([[data],fn])

    * keypress([[data],fn])

    * keyup([[data],fn])

    * mousedown([[data],fn])

    * mouseenter([[data],fn])

    * mouseleave([[data],fn])

    * mousemove([[data],fn])

    * mouseout([[data],fn])

    * mouseover([[data],fn])

    * mouseup([[data],fn])

    * resize([[data],fn])

    * scroll([[data],fn])

    * select([[data],fn])

    * submit([[data],fn])

    如果某个构造函数的原型是数组,那么,通过这个构造函数所创建的对象就具有了数组的功能

    相关文章

      网友评论

          本文标题:2019-05-28jQuery事件

          本文链接:https://www.haomeiwen.com/subject/hkvjtctx.html