美文网首页
jQuery事件

jQuery事件

作者: MGd | 来源:发表于2017-05-15 15:39 被阅读34次
    • 1.事件机制
      jQuery的事件机制,指的是:jQuery对JavaScript操作DOM事件的封装,包括了:事件绑定、事件解绑、事件触发
    • JavaScript:
    btn.onclick = function() {};    //给按钮绑定事件  
    
    • jQuery:
    $btn.click(function() {});    //给按钮绑定事件 
    click是一个方法,内部是对onclick事件的封装
    
    • 2.简单的事件
      click() 单击事件
      blur() 失去焦点事件
      mouseenter() 鼠标进入事件
      mouseleave() 鼠标离开事件
      dblclick() 双击事件
      change() 改变事件,如:文本框值改变,下拉列表值改变等
      focus() 获得焦点事件
      keydown() 键盘按下事件
      mouseover冒泡,mouseenter不冒泡
      其他参考:http://www.w3school.com.cn/jquery/jquery_ref_events.asp
    • 3.事件绑定
    • bind()方式
      作用:给匹配到的元素直接绑定事件(不推荐,1.7以后的jQuery版本被on取代)
    // 绑定单击事件处理程序  
    第一个参数:事件类型  
    第二个参数:事件处理程序  
    $("p").bind("click mouseenter", function(){  
        //事件响应方法  
    }); 
    
    • delegate()方式
      优势:减少事件绑定次数提高效率,支持动态创建出来的元素绑定事件
    // 第一个参数:div,要绑定事件的元素  
    // 第二个参数:事件类型  
    // 第三个参数:事件处理函数  
    $("div").delegate("p", "click", function(){  
        //为 div下面的所有的p标签绑定click事件  
    });  
    
    • on()方式(最现代的方式,强烈建议使用的方式)
      1
       绑定单个事件
     $('p').on('click',function () {
                   console.log('xxx');
               })
    

    2

    绑定多个事件 -> 同一个回调函数
    $('p').on('click mouseenter ',function (event) {
                   console.log('xxx' + event.type);
               })
    

    3

    绑定多个事件 -> 多个回调函数(键值对)
    键: 事件类型
    值: 需要执行的函数
    $('p').on({
                   'click': cE,
                   'mouseenter': function () {
                       console.log('鼠标移入');
                   }
               })
     function cE() {
                   console.log('单机事件');
               }
    

    4

    //为 div下面的所有的span标签绑定click事件 
    $("div").on( "click",“span”, function() {}); 
    
    • 4.事件解绑
    • unbind() 方式
    $("div").unbind(); //解绑所有的事件  
    $("div").unbind(“click”); //解绑指定的事件  
    
    • undelegate() 方式
    $("div").undelegate();     //解绑所有的delegate事件  
    $("div").undelegate( “click” );    //解绑所有的click事件
    
    • off解绑on方式绑定的事件
    // 解绑匹配元素的所有事件  
    $("div").off();  
    // 解绑匹配元素的所有click事件  
    $("div").off(“click”);  
    // 解绑所有代理的click事件,元素本身的事件不会被解绑  
    $("div").off( “click”, “**” );  
    

    事例

    $('p').click(function () {
                   console.log('xxxx');
                   $('p').off('click');
               })
    
    • 5.自动触发事件
      trigger()方法触发事件
    会触发事件的默认行为.
    $(':submit').trigger('click');
    

    triggerHandler()方法触发事件

    不会触发事件的默认行为.
    $(':submit').triggerHandler('click');
    

    相关文章

      网友评论

          本文标题:jQuery事件

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