您的位置:首页 > 其它

基础事件

2015-11-14 21:55 148 查看


绑定事件

jQuery通过.bind()方法来为元素绑定这些事件,可以传递三个参数:bind(type,[data],fn)

(1)$(‘input’).bind(‘click’,function(){

alert(“点击”);})

(2)$('input').bind('click',fn);

        
 function fn(){

                           
alert("welcometo our house");}

(3)也可以同时绑定多个事件

$('input').bind('mouseovermouseout',function(){

        
 $('div').html(function(index,value){

                           
returnvalue+'1';});});

通过对象的键值对绑定多个参数

 
 $('input').bind({

                           
mouseover:function(){

                                    
alert("in");

                           
},

                           
mouseout:function(){

                                    
alert("out");}});

(4)删除绑定事件

$(‘input’).unbind();删除当前元素的全部事件

$(‘input’).unbind(‘click’);//删除click事件

$(‘input’).unbind(‘click’,fn1);//删除click事件中的fn1处理函数

简写事件

jQuery封装了常用的绑定事件

 

方法名

触发事件

描述

click()

 鼠标

触发每一个匹配元素的click(单击)事件

dblclick()

鼠标

触发每一个匹配元素的dblclick(双击)事件

mousedown(fn)

鼠标

触发每一个匹配元素的mousedown(点击后)事件

mouseup(fn)

 鼠标

触发每一个匹配元素的mouseup(点击弹起)事件

mouseover(fn)

鼠标

触发每一个匹配元素的mouseover(鼠标移入)事件

mouseout(fn)

鼠标

触发每一个匹配元素的mouseout(鼠标移出)事件

mousemove(fn)

鼠标

触发每一个匹配元素的mousemove(鼠标移动)事件

mouseenter(fn)

鼠标

触发每一个匹配元素的mouseenter(鼠标穿过)事件

mouseleave(fn)

鼠标

触发每一个匹配元素的mouseleave(鼠标穿出)事件

keydown(fn)

键盘

触发每一个匹配元素的keydown(键盘按下)事件

keyup(fn)

键盘

触发每一个匹配元素的keyup(键盘弹起)事件

keypress(fn)

键盘

触发每一个匹配元素的keypress(键盘按下)事件

unload(fn)

文档

当卸载本页面时绑定一个要执行的函数

resize(fn)

文档

触发每一个匹配元素的resize(文档改变大小)事件

scroll(fn)

文档

触发每一个匹配元素的scroll(滚动条拖动)事件

focus(fn)

表单

触发每一个匹配元素的focus(焦点激活)事件

blur(fn)

表单

触发每一个匹配元素的blur(焦点丢失)事件

focusin(fn)

表单

触发每一个匹配元素的focusin(焦点激活)事件

focusout(fn)

表单

触发每一个匹配元素的focusout(焦点丢失)事件

select(fn)

表单

触发每一个匹配元素的select(文本选定)事件

change(fn)

表单

触发每一个匹配元素的change(值改变)事件

submit(fn)

表单

触发每一个匹配元素的submit(表单提交)事件

 

 

1、$(window).unload(function(){

               
alert("unload");});

2、$(window).resize(function(){

               
alert("sizechange");});

3、$('input').select(function(){

        
 alert("text");});

4、$('input').change(function(){

      
 alert("text change"); });

5、$('form').submit(function(){

      
 alert("are you sure?");});

注意:submit()是作用于form。

6、mouseover、mouseout和mouseenter、mouseleave的区别:

mouseover、mouseout表示移入和移出

mouseenter、mouseleave表示穿过和穿出,mouseenter、mouseleave穿过子元素时不会触发,而mouseover、mouseout则会触发,over、out会触发子节点

单个元素的情况下,两种方法效果相同,但是在有层叠的元素情况下,效果不同

      
(1)$('div').mouseenter(function(){

               
 $('p').html(function(index,value){

                         
returnvalue+"1";});});

      
(2)$('div').mouseover(function(){

               
 $('p').html(function(index,value){

                         
returnvalue+"1";});});

7、keydown(),keyup()返回的是键码,而keypress()返回的是字符编码

$(‘input’).keydown(function(e){

alert(e.keyCode);});//返回65

$(‘input’).keydown(function(e){

alert(e.charCode);});//返回97

8、光标激活focus()和光标丢失blur()必须是当前元素才能激活。

  
光标激活foucusin()和focusout()可以是子元素激活

复合事件

方法名

描述

ready(fn)

当DOM加载完毕触发事件

hover([fn1,]fn2)

当鼠标移入触发第一个fn1,移出触发fn2

toggle(fn1,fn2[,fn3…])

已废弃,当鼠标点击触发fn1,再点击触发fn2

1、$('div').hover(function(){

        
$(this).css('background','red');},

function(){

        
$(this).css('background','green');});  
结合了mouseenter()和mouseleave()两种方法

3、由于toggle()方法已经废除,也可由其他方法替代

var flag=1;

$('div').click(function()

{if(flag==1){

                  
$(this).css('background','red');

                  
flag=2;}else

                           
if(flag==2){

                  
$(this).css('background','blue');

                  
flag=3;}

        
elseif(flag==3){$(this).css('background','green'); flag=1;}

                  
});
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: