JQ事件和事件对象

bind()

bind(type [,data],fn);
第二个参数可选,传递给事件对象等额外数据对象 ??

     
  • 香蕉
  • 苹果

简写绑定事件
$().click(function(){});
绑定多个事件直接后面加.
$().mouseover(function(){}).mouseout(function(){});

hover()合成事件

hover(enter,leave);

    $(function(){
        $('.test').hover(function(){
            console.log('鼠标经过');
        },function(){
            console.log('鼠标离开');
        });
    });

toggle()合成事件

模拟鼠标连续点击事件
toggel(fn1,fn2,····fnN);依次促发 循环调用

    $(function(){
        $('.test').toggle(function(){
            console.log('第一次');
        },function(){
            console.log('第二次');
        },function(){
            console.log('还可以很多次');
        });
    });

event 事件对象

方法 介绍 示例
event.type 获取事件类型
event.preventDefault() 阻止默认事件
event.stopPropagation() 阻止事件冒泡
event.target() 获取促发事件的元素
event.relatedTarget mouseout和mouseover所发生的元素
event.pageX event.pageY 光标相对于页面x轴和y轴的坐标
event.which 获取鼠标鼠标的左中右键和键盘的按键
event.metaKey 键盘中获取

还有更多其他方法 自己查

移除事件

可以为同一个元素绑定多个事件,也可以为多个元素绑定同一个事件


    $(function(){
        $('.test').bind('click',function(){
            $('.test').append("我是1")
        }).bind('click',function(){
            $('.test').append("我是2")
        }).bind('click',function(){
            $('.test').append("我是3")
        });
        $('.test').unbind('click');//移除绑定事件 参数可以为空
    });

若要删除指定的绑定元素 则需要为匿名处理函数指定一个变量

$(function(){
        $('.test').bind('click',myFun1 = function(){
            $('.test').append("我是1")
        }).bind('click',myFun2 = function(){
            $('.test').append("我是2")
        }).bind('click',myFun3 = function(){
            $('.test').append("我是3")
        });

        $('.test').unbind('click',myFun2);//添加命名
    });

one()方法 函数只在第一次用户操作时候执行

one( type, [data],f n );

    $(function(){
        $('.test').one('click',myFun1 = function(){
            $('.test').append("我是1")
        });
    });

1.7后新增 on(),off(),delegate(),undelegate()

--事件命名空间以及不同命名空间的执行方法--




    
    doc测试学习
    


    
  • 香蕉
  • 苹果
执行不在命名空间的事件 执行自定义事件 移除自定义事件

你可能感兴趣的:(JQ事件和事件对象)