zoukankan      html  css  js  c++  java
  • jQuery学习教程(八):事件

    绑定事件

    jQuery绑定事件方法:

    bind(type[,data],fn)//type: 事件类型;data:作为event.data传递给对象的参数;fn:绑定的处理函数

    示例,在《锋利的jQuery》一书中讲到了这个例子:

    $(function(){  
    	$("#panel h5.head").bind("click",function(){  
    		if($(this).next("div.content").is(":visiable")){  
    			$(this).next("div.content").hide();  
    		}else{ 
    			$(this).next("div.content").show();  
    		}  
    	});  
    });
    

      

    该例子是用来实现点击上面文字隐藏或显示下面文字,经过测试发现只能显示无法隐藏。可能是上面的$(this)函数默认为匿名函数指向的是$(this).next("div.content")了。因此经过改进后的函数修正此bug

    $(function(){  
    	$("#panel h5.head").bind("click",function(){  
    		var $content = $(this).next("div.content"); 
    		if($content.is(":visible")){  
    			$content.hide(); 
    		}else{ 
    			$content.show(); 
    		}  
    	})  
    });
    

    以上代码可简写:

    $("#panel h5.head").click(function(){  
    	var $content=$(this).next("div.content"); 
    	if($content.is(":visible")){  
    		$content.hide(); 
    	}else{  
    		$content.show(); 
    	}  
    }
    

    针对使用频繁的onmouseover,onmouseout,jQuery使用了合成事件的方法:

    hover(enter,leave)方法//模拟光标悬停事件,光标移动到 元素上触发enter函数,移出元素时触发leave函数。

    <script type="text/javascript"> 
    	$(function(){  
    		$("#source").hover(function(){  
    		$("#pointer").text("移入光标");},function(){  
    		$("#pointer").text("移出光标");});  
    	})
    </script>
    <div id="source"></div> 
    <div id="pointer"></div>
    

      

    toggle(fc1,fc2,fc3,fc4,…)//该 函数实现模拟鼠标连续单击事件,依次触发fn1,fn2,fn3,fn4……。(一般应用不多)

    事件冒泡与事件捕获

    事件冒泡:一种很形象的说法;事件会按照DOM的层次结构像水泡一样不断向上直到顶端。

    事件捕获:与事件冒泡相反,从最顶端往下触发。

    事件解除绑定

    删除元素的注册事件,ie中的detachEvent,ff中的removeEventListener中。

    $("#btn").click(function(){  
    	 alert("点击"); 
    	 $(this).unbind(); 
    });
    

    模拟操作

    trigger(event)//触发事件

    trigger可为元素一次性绑定多个事件。

    $("#btn").bind("mouseover mouseout",function(){ 
    	$(this).toggleClass("over");  
    });
    

      

  • 相关阅读:
    redis发布订阅
    redis学习笔记(面试题)
    redis安全 (error) NOAUTH Authentication required
    HDU3001 Travelling —— 状压DP(三进制)
    POJ3616 Milking Time —— DP
    POJ3186 Treats for the Cows —— DP
    HDU1074 Doing Homework —— 状压DP
    POJ1661 Help Jimmy —— DP
    HDU1260 Tickets —— DP
    HDU1176 免费馅饼 —— DP
  • 原文地址:https://www.cnblogs.com/rmbteam/p/2113456.html
Copyright © 2011-2022 走看看