事件总是由内层开始执行,一直到最外层,不单击了那个对象,所有包含了此对象的对象所绑定的事件都将执行一次,这是我们不愿意看到的,jQuery给我们定义了一些阻止事件执行的方法。
一.事件绑定
1.事件绑定函数 事件的绑定函数为如下形式: .bind(type [,data],fn) type:类型 如click..... data:参数 fn:事件执行的函数
例子 复制代码 代码如下: $(function(){ $(#id1).click(function(){ $(#id2).show();//id2显示 }) ; }); 二.合成事件 1.鼠标滑过事件 .hover(enter,leave) enter:鼠标光标移动到对象时触发的函数 leave:鼠标光标移出对象触发的函数
例子: 复制代码 代码如下: $(function(){ $(#id1).hover(function(){ $(#id2).show();//id2显示 },function(){ $(#id2).hide();//id2隐藏 }) ; });
2.连续单击事件 .toggle(fn1,fn2.......,fnN) fn:单击第一次执行fn1,第二次fn2,以此类推
三.事件冒泡 事件总是由内层开始执行,一直到最外层,不单击了那个对象,所有包含了此对象的对象所绑定的事件都将执行一次,这是我们不愿意看到的,jQuery给我们定义了一些阻止事件执行的方法 1.事件对象获取 获取事件对象的方法就是为事件执行函数添加一个参数 $(#id1).click(function(even){});//even就是获取到的事件对象 2.阻止事件冒泡 我们可以在事件执行函数中加入如此啊代码,阻止事件冒泡 even.stopPropagation(); 3.阻止默认事件 浏览器默认事件是指,按钮单击后提交,单击链接后打开链接等,jQuery也可以阻止这些默认事件的执行 even.preventDefault();
四.获取事件对象的属性 even.type();//获取事件的类型, 如: $(#id1).click(function(even){ alert(even.type); return false; });//返回“click”
even.target();//获取触发事件的对象
even.while();获取鼠标单击的1=左,2=中,3=右键
五.移除事件 .unbind(type [,data]);
例子: 复制代码 代码如下: $(function(){ $(#id1).bind("click",fn1=function(){alert(“事件1”);})
.bind("click",fn2=function(){alert(“事件2”);}); .bind("click",fn3=function(){alert(“事件3”);}); });
$("#id2").click(function(){ $(#id1).unbind("click",fn2);//删除fn2的click事件 }); 六.其他操作 1.绑定多个事件 .bind(type [,data],fn).bind(type [,data],fn)...... ; .bind(type type..... [,data],fn) ; 2.添加事件命名空间 .bind(type.namespace [,data],fn) ; 使用时只需指定命名空间即可,如:$(#id1).unbind(".namespace") |