jQuery事件处理

您所在的位置:网站首页 jquery中的事件和事件处理有哪些 jQuery事件处理

jQuery事件处理

2023-06-03 11:14| 来源: 网络整理| 查看: 265

jQuery事件处理jQuery事件处理1.指定事件处理函数2.绑定事件处理方法(1)bind()方法(2)delegate()方法3.jQuery事件的方法往期回顾jQuery事件处理

image

  jQuery可以很方便地使用事件对象对触发事件进行处理。jQuery支持的事件包括键盘事件、鼠标事件、表单事件、文档加载事件和浏览器事件等。

1.指定事件处理函数

  事件处理函数指事件触发时调用的函数。可以通过下面的方法指定事件处理函数:

$("选择器").事件名(function(形参){ //函数体 })

例如,前面多次使用

$(document).ready(function(e){ });

指定文档对象的ready事件处理函数,ready事件表示当文档对象就绪的时候被触发。

2.绑定事件处理方法(1)bind()方法

  使用bind(方法可以为每一个匹配元素的特定事件(如单击事件)绑定一个事件处理函数,事件处理函数会接收到一个事件对象。

bind()方法的语法格式如下所示:

bind(type, [data,] function)

其中,type表示事件类型;data是可选参数,作为event.data属性值传递给事件对象的额外数据对象;function表示绑定到指定事件的事件处理函数。如果function函数返回false,则会取消事件的默认行为并阻止冒泡。

  例1是通过bind()方法为一个按钮绑定一个单击事件,单击按钮后,网页中的一段文字将自动消失,如果再次单击这个按钮,消失的文字又会显示出来。本例重点理解事件的绑定过程。

【例1】

bind方法 $(document).ready(function(){ $("button").bind("click", function(){ $("p").slideToggle(); }); });

这是一段文字

请点击这里

  例2中通过bind()方法指定 contextmenu(鼠标右击)事件的处理函数,在该函数中返回false,从而取消事件的默认行为。

【例2】

bind方法 $(document).ready(function(){ $(document).bind("contextmenu", function(){ return(false); }); });

您右击网页,将不会弹出右键快捷菜单!

image

图1 bind方法

(2)delegate()方法

  delegate()方法是对指定元素的特定子元素增加一个或多个事件处理程序,并规定当这些事件发生时运行的函数。使用delegate()方法的事件处理程序适用于当前或以后由脚本创建的新元素。其绑定事件的语法格式如下:

$(选择器).delegate(childSelector,eventType, function)

其中, childSelector 表示指定事件的子元素选择器;eventType指事件的类型;function指事件处理函数。

  例3将文档中元素下的子元素的click事件绑定到指定的事件处理函数,单击元素时,将在所有元素的最后插入一个元素,并且新添加元素的内容是一个定义好的数组内容。

【例3】

delegate方法 $(document).ready(function(){ listArr=new Array("音乐","排球","羽毛球","篮球","游泳"); index=0; $("ul").delegate("li","click", function(){ $(this).append(""+listArr[index]+"") index++; index%=5; }) }); 足球

image

图2 delegate方法

3.jQuery事件的方法

  jQuery提供了一组事件相关的方法,用于处理各种HTML事件。jQuery常用事件的方法及说明见表1。

表1 jQuery常用事件的方法及说明

事件的方法说明$("选择器").click)鼠标单击触发事件,参数可选(data,function)$("选择器").dblelick()双击触发事件,参数可选(data,function)$("选择器").mousedown()/mouseup()鼠标按下/弹起触发事件$("选择器”).mousemove()鼠标移动触发事件$("选择器").mouseover()/mouseout()鼠标移入/移出触发事件$("选择器”).mouseenter()/mouseleave ()鼠标进入/离开触发事件$("选择器").hover(func1,func2)鼠标移入调用func1函数,移出调用func2函数$("选择器").focusin()鼠标聚焦到该元素时触发事件$("选择器").focusout()鼠标失去焦点时触发事件$("选择器").focus()/blur()鼠标聚焦/失去焦点触发事件(不支持冒泡)$("选择器").change()表单元素发生改变时触发事件$("选择器").select()文本元素被选中时触发事件$("选择器").submit()表单提交动作触发事件$("选择器").keydown()/keyup()键盘按键按下/弹起触发事件$("选择器").keypress()键盘按下过程中触发事件

  例4是单击按钮后,在一个DIV块上按住左键不放进行拖动,这个DIV块会跟随鼠标移动,松开左键之后,DIV块会停止跟随。

【例4】

事件举例 #mydiv{ background:#00BFFF;position:absolute;width:100px;height:100px} $(function(){ $("#btn").click(function(){//按钮的单击事件 $("#mydiv").mousedown(function(event){//DIV块的鼠标按下事件 var offset=$("#mydiv").offset();//获取DIV块的位置 x1=event.clientX-offset.left; y1=event.clientY-offset.top; $("#mydiv").mousemove(function(event){//鼠标移动事件 //设置DIV块移动后的新位置 $("#mydiv").css("left",(event.clientX-x1)+"px"); $("#mydiv").css("top",(event.clientY-y1)+"px"); }); $("#mydiv").mouseup(function(event){//鼠标左键抬起事件 $("#mydiv").unbind("mousemove");//删除鼠标移动事件 }); }); }) }) 鼠标拖动

image

图3 jQuery事件举例

注:本文通过 CDN(内容分发网络)引用jQuery,用户可以不下载存放 jQuery。



【本文地址】


今日新闻


推荐新闻


CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3