位置: 编程技术 - 正文

Jquery基础之事件操作详解(jqueryon事件)

编辑:rootadmin

推荐整理分享Jquery基础之事件操作详解(jqueryon事件),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:jqueryon事件,jquery中的事件和事件处理有哪些,jquery事件的响应,jquery中有哪些基础事件方法?,jquery基础事件方法,jquery的事件处理函数,jquery中的事件和事件处理有哪些,jquery中有哪些基础事件方法?,内容如对您有帮助,希望把文章链接给更多的朋友!

事件是用户操作时页面或页面加载时引发的用来完成javascript和HTML之间的交互操作。常见的元素点击事件、鼠标事件、键盘输入事件等,较传Javascript

相比JQuery增加并扩展了基本的事件处理机制,极大的增强了事件处理的能力。

一、DOM加载事件

页面加载完毕后浏览器会通过javascript为Dom元素加载事件,使用Javascript时候使用的是window.onload方法,而Jquery使用的是$(document).ready()方法,下表

展示两个事件的异同。

window.onload方法 $(document).ready()方法 执行时机 必须等待所有内容加载完成后才能执行 页面的DOM元素绘制完成后可以执行不必等待全部内容加载完成。 绑定函数个数

该方法能够绑定一个函数,如果绑定多个只能执行最后的一个绑定。例:

window.onload=function(){alert("1");}

window.onload=function(){alert("2");}

执行结果只执行最后绑定的函数结果是打印:2.  

能够注册多个函数,按绑定顺序执行绑定函数。例:

$(document).ready(funtction(){alert("1");});

$().ready(function(){alert("2");});

执行结果是顺序执行绑定的函数:先打印1.然后再打印2.

简化写法 无 $().ready();$.ready()

二、事件处理

当文件加载完成后就可以为元素添加事件处理,进而事件执行某些动作完成相关操作。jquery中有多种事件处理方法,主要有bind()、one()、unbind()、live()、trigger()、triggerHander()等。Jquery方法使用bind()方法为匹配的元素进行特定的事件绑定。bind()方法格式如下:

bind(type,[ data],fun);

bind()方法有三个参数,各个参数说明如下:

第一个参数是事件类型,主要如下:blur、focus、load、resize、scroll、unload、click、dbclick、mousedown、mouseup、mousemove、mouseover、mouseout、mouseenter、mouseleave、change、select、submit、keydown、keypress、keyup和error等。也可以是自定义名称,Jquery中的事件绑定类型比javascript少了"on",因此jquery中事件click对应javascript中的onclick函数。

第二个参数是可选参数,作为event.data属性值传递给事件对象的额外数据对象。

第三个参数是用来绑定的处理函数。

为按钮绑定单击事件示例:

<input type="button" id="btn1" value="单击">

$("#btn1").bind("click",function(){alert("单击事件绑定");});

bind()方法为元素绑定的事件一直有效直到unbind()方法或者删除元素。如果想要绑定事件只能执行一次就要使用one()方法绑定事件。one()同bind()方法一样,区别在于one()方法绑定的事件只能执行一次。

为按钮绑定一次性事件示例:

<input type="button" id="btn1" value="单击">

$("#btn1").one("click",function(){alert("单击事件绑定");});

unbind()方法为元素取消事件绑定,unbind()方法的格式如下:

$(selctor).unbind([type],[data])

unbind()方法是元素bind()方法的反向操作,从每个匹配的元素中删除绑定的事件。当没有参数时候删除所有的绑定事件。如果提供了事件类型的参数则删除指定的绑定事件。如果指定了事件类型,第二个参数指定了函数名称则删除事件类型中与第二个参数名称对应的事件。

示例:

该示例使用unbind()方法的二个参数形式移除第二次绑定的事件处理函数。

live()方法为元素动态绑定事件,使用该方法绑定事件后,新加对应元素也能触发相应事件。live()方法格式如下:

$(selector).live([type],[data],fun);

live动态绑定示例:

$("p").live("click",function(){$(this).hide();});

该示例为所有的p元素节点动态添加了click事件,无论是现有的p元素节点还是以后要添加的p元素节点都有会中点单击时候触发hide()从而隐藏自己。die()方法是live()方法的反向操作,结果live()方法动态绑定的事件和unbind()方法一样。使用die()方法取法动态绑定后,所有动态绑定的事件将删除。

trigger()方法在匹配的元素上触发参数中的事件,该方法会触发浏览器默认事件,返回false阻止浏览器默认事件。trigger()方法格式如下:

$(selector).trigger([type],[data]);

trigger()方法示例:

$("form:first").trigger("submit");

该示例触发第一个from表单的submit操作。

triggerHandler()方法这个方法会触发绑定事件,但是不会触发浏览器默认事件。与trigger()方法触发后返回false效果一样。使用方法和trigger一样。

Jquery基础之事件操作详解(jqueryon事件)

三、事件

事件处理中已经列出了主要的事件类型如下:blur、focus、load、resize、scroll、unload、click、dbclick、mousedown、mouseup、mousemove、mouseover、mouseout、mouseenter、mouseleave、change、select、submit、keydown、keypress、keyup和error等。各个事件类型主要是两种用法绑定事件、触发事件。以click事件为例,click方法格式如下:绑定事件$(selector).click(functiron(){//函数体}),触发事件$(selector).click()。例:

该示例为第一个按钮btn1绑定事件,为按钮btn2绑定事件同时在绑定事件中触发第一个按钮的绑定事件。其余事件类型和click类似。

四、合成事件

合成事件也可以称为交互事件是JQuery自定义的方法,方法有两个hover()和toggle()。

hover()方法模仿鼠标悬停事件,方法格式如下:hover(enter,leave)。例:

$("ul li").hover(function(){alert("Enter");},functiron(){alert("leave");});

该示例为ul的li元素绑定悬停事件,当鼠标停上ul的子元素li上时候会触发enter()函数,打印“Enter”,当鼠标移出li元素时候会打印"leave"。

toggle()方法切换操作循环执行绑定的函数,方法格式如下:toggle(fun1,fun2,...,funN);例:

<input type="button" id="btn1" value="触发切换操作"/>

$("#btn1").toggle(function(){alert("开始");},function(){alert("继续");},function(){alert("结束");});

该示例为按钮btn1绑定切换事件每次单击都会顺序触发绑定事件中的一个。该示例第一次点击打印"开始",第二次点击打印"继续",第三次点击打印"结束",再次点击和第一次一样打印"开始",循环顺序执行函数。

五、事件属性

Jquery对事件属性进行了封装使事件处理在各浏览器下不需要判别类型都能正常运行。各个事件属性的如下:

事件类型event.type.该属性用于获得触发该事件的类型,对不引发事件的不同操作返回不同的结果;例:

$("p").click(function(event){alert(event.type);});

该示例返回元素p单击事件的事件类型,结果打印是 "click";

事件类型event.target该属性用于获得触发事件的元素;例:

$("a").click(function(event){alert(event.target.href);});

该示例返回元素a的href属性。

事件默认行为event.preventDefault;该属性用于阻止事件的默认属性,例:

$("a").click(function(event){event.preventDefault;});

使用该属性阻止元素a的默认的跳转行为,结果和return false一样。

事件冒泡event.stropPropagation属性用于阻止事件冒泡,例:

$("div").click(function(event){alert("里层点击");event.stopPropagation;});

该示例中使用stopPropagation属性阻止div的父元素的click事件被触发。

event.pageX和event.pageY属性,使用这两个属性可以获得鼠标的相对于页面的当前位置。例:

$("p").click(function(event){alert("current mouse location "+event.pageX+" "+event.pageY);});

该示例当点击元素p的时候获得鼠标的当前位置,并打印出来。

event.witch属性,使用这个属性可以获得鼠标单击时候鼠标的左中右键,在键盘事件中获得键值。

$("p").mousedown(function(event){alert(event.witch);});

该示例当鼠标按下时候打印鼠标键值。左中右健分别对应值是1、2、3。

event.metaKey属性用于在事件获得键盘的ctrl键,例:

$("body").keydown(function(event){if(event.metaKey){alert("ctrl");}else{alert("no ctrl");}});

该示例当在页面中按下键盘时候如果按键为ctrl键就打印ctrl,否则打印"no ctrl".

六、事件冒泡

页面中有多个绑定事件因此可能出现多个元素响应同一个事件,由此引发了事件不是我们预期的,这种现象就是事件冒泡,要处理这个问题可以对事件的作用范围进行限制,Jquery中使得stopPropagation()方法停止事件的冒泡。事件冒泡示例:

在该示例中当点击span时候会触发三个打印事件 "span" "div" "body",如何阻止事件冒泡?可以使用Jquery事件中的stropPropagation()方法来停止事件冒泡。上面示例改成这样:

这样当点击不同元素时候就不会发生冒泡事件。

七、事件命名空间

事件添加命名空间便于事件的管理:删除事件和触发事件。例:

<div>元素绑定多个事件</div>

由于使用了命名空间可以删除指定命名空间中的事件,如移除所有plugin命名空间下的事件函数方法如下:$("button").click(function(){$("div").unbind(".plugin");});这样就移除了所有命名空间是plugin的事件函数。div中只剩下click和dbclick绑定事件。

使用命名空间对触发特定的事件了带来了方便,如为div绑定了两个click事件,一个是带命名空间的一个是不带命名空间。如果想要触发不包含在命名空间中的事件可以使用trigger("click!")方法,!感叹号的作用是匹配所有不包含在命名空间中的click方法。

以上这篇Jquery基础之事件操作详解就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持积木网。

jquery中的常见问题及快速解决方法小结 1在开发开放聊天室的过程中,遇到使用ajax提交表单插入数据库时会插入两条数据的情况解决办法,在ajax函数返回后,returnfalse.$("#btn").click(function(){$.aja

jQuery动态加载css文件实现方法 有时我们可能会需要使用jQuery来加载一个外部的css文件,如在切换页面布局时。思路是创建一个link元素,并将它添加到标记中即可,下边首先看看怎么

jQuery获取剪贴板内容的方法 本文实例讲述了jQuery获取剪贴板内容的方法。分享给大家供大家参考,具体如下:这两天弄fckeditor粘贴功能,随着工作的深入和在网上查询资料,知道

标签: jqueryon事件

本文链接地址:https://www.jiuchutong.com/biancheng/386692.html 转载请保留说明!

上一篇:jQuery处理XML文件的几种方法

下一篇:jquery中的常见问题及快速解决方法小结(jquery常用的5个方法)

  • 建筑业增值税税负预警
  • 偷税漏税逃税是什么意思
  • 促销费用计入销售费用哪个科目
  • 研发费用加计扣除是什么意思啊
  • 调减加计抵减额会计分录
  • 采购返利怎么生成发票
  • 劳务所得报酬
  • 外购软件用于销售的会计分录
  • 房地产企业没有退还的履约保证金税务
  • 申报怎么打印
  • 营改增一般纳税人标准
  • 该企业本月发生如下经济业务
  • 重庆房产税政策历史
  • 工会经费的纳税依据
  • 新注册公司税务报到
  • 工商年报报表
  • 结转出租包装物的成本
  • 财务人员工资计入什么费用?
  • 华硕p8h61主板升级更换什么主板合适
  • 其他应收款贷方重分类到哪个科目
  • 其他债权投资通俗
  • 净资产利润比率计算公式
  • 怎么认定是否为党员
  • windows 11怎么用
  • 退税到账怎么做账
  • 富山和富士山
  • 取得增值税发票丢了怎么是好
  • 城镇土地使用税纳税义务发生时间
  • 发票上可以盖财务专用章和发票专用章吗
  • php中session和cookie
  • 采用汇兑的方式归还前欠货款
  • 调入的无形资产记入哪里
  • 基于强化学习的智能机器人路径规划算法研究(附代码)
  • 利用python实现Apriori关联规则算法
  • php 个人博客 源代码 简单
  • 年末需暂估已发生的费用吗
  • 利息收入计入借方
  • 季度利息收入分录
  • 营业额和营业收入怎么算
  • 15个postgresql数据库实用命令分享
  • 根据sql脚本修改数据类型
  • 当月进项税额大但是也要交增值税吗
  • 公司注销前的发票怎么查
  • 民间非营利政府是指什么
  • 固定资产报废会计
  • 多计提的工资怎么调账
  • 国有资产无偿划转协议
  • 产品检测费怎么入账
  • 销售过程中发生的商业折扣计入
  • 与其他企业联合投资一个项目要怎么做账务处理?
  • 增值税开票系统怎么改开票人名字信息
  • 信用减值损失科目代码6702
  • 预收物业费预收什么意思
  • 应收账款管理办法
  • 远程连接局域网电脑
  • iis设置mime
  • fedora29
  • ubuntu服务器安装matlab2014a环境配置
  • 进程mmc.exe
  • linux中vi编辑器怎么使用
  • Linux VPS vsftp/proftpd FTP时间差八小时的解决方法
  • win7还原电脑系统的步骤
  • 在linux系统中获取帮助信息的命令为
  • 怎么在手机上买股票开户
  • winpe 系统还原
  • javascript that
  • jquery日期控件onchange事件
  • nodejs middleware
  • Nodejs sublime text 3安装与配置
  • 批处理自动关闭
  • iframe transparent透明背景方法
  • python代码50行
  • vue组件用法
  • jquery怎么写轮播图
  • 国家税务局通用定额发票查询
  • 山东省国税地税体制改革
  • 深圳市税务局网上办税大厅官网
  • 溧阳北站规划图
  • 2.4车船使用税
  • 张家港港区国税局地址
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设