JQuery中DOM事件绑定用法详解


Posted in Javascript onJune 13, 2015

本文实例讲述了JQuery中DOM事件绑定用法。分享给大家供大家参考。具体分析如下:

在文档加载完成后,如果打算为元素绑定事件来完成某些操作,则可以使用bind()方法来对匹配元素进行特定事件的绑定,bind()方法的调用格式为:

bind( type [, data] , fn);

bind()方法有3个参数,说明如下。

第1个参数是事件类型,类型包括:blur、focus、load、resize、scroll、unload、click、dblclick、mousedown、mouseup、mousemove、mouseover、mouseout、mouseenter、mouseleave、change、select、submit、keydown、keypress、keyup和error等,当然也可以是自定义名称。
第2个参数为可选参数,作为event.data属性值传递给事件对象的额外数据对象。
第3个参数则是用米绑定的处理函数。

可以发现,jQuery中的事件绑定类型比普通的JavaScript事件绑定类型少了“on”。例如鼠标单击事件在jQuer中对应的是click事件,而在JavaScript中对应的是onclick()函数。

按照需求,需要完成以下几个步骤。

1. 等待DOM加载完毕。
2. 找到“标题”所在的元素,绑定click事件。
3. 找到“内容”元素,将“内容”元素显示。

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

与ready()方法一样,bind()方法也可以多次调用。

上面jQuery代码中有一个关键字this,与在JavaScript中的作用一样,this引用的是携带相应行为的DOM元素。为了使该DOM元素能够使用jQuery中的方法,可以使用$(this)将其转换为jQuery对象。

为了判断元素是否显示,可以使用jQuery中的is()方法来完成。在代码中,发现$(this).next("div.content")被多次使用,因此可以为它定义一个局部变量:$content。

上面的例子中,给元素绑定的事件类型是click,当用户单击的时候会触发绑定的事件,然后执行事件的函数代码。现在把事件类型换成mouseover和mouseout,即当光标滑过的时候,就触发事件。需要进行以下几步操作。

1. 等待DOM加载完毕。
2. 找到“标题”所在的元素,绑定mouseover事件。
3. 找到“内容”元素,显示“内容”。
4. 找到“标题”所在的元素,绑定mouseout事件。
5. 找到“内容”元素,隐藏“内容”。

代码运行后,当光标滑过“标题”链接后,相应的“内容”将被显示。当光标滑出“标题”链接后,相应的“内容”则被隐藏。

代码如下:

$(function(){ 
 $("#panel h5.head").bind("mouseover",function(){ 
  $(this).next().show(); 
 }); 
  $("#panel h5.head").bind("mouseout",function(){ 
   $(this).next().hide(); 
 }) 
})

在上面几个例子中,分别用bind()方法给“标题”绑定了click事件、mouseover事件和mouseout事件,绑定方法都一样。除此之外,bind0方法还能绑定其他所有的JavaScript事件。

像click、mouseover和mouseout这类事件,在程序中经常会使用到,jQuery为此也提供了一套简写的方法。简写方法和bind()方法的使用类似,实现的效果也相同,惟一的区别是能够减少代码量。

例如把上面的例子改写成使用简写绑定事件的方式,代码如下:

$(function(){
 $("#panel2 h5.head").mouseover(function(){
   $(this).next().show();
  });
  $("#panel2 h5.head").mouseout(function(){
    $(this).next().hide();
  })
})

希望本文所述对大家的jQuery程序设计有所帮助。

Javascript 相关文章推荐
一页面多XMLHttpRequest对象
Jan 22 Javascript
JCalendar 日历控件 v1.0 beta[兼容IE&Firefox] 有文档和例子
May 30 Javascript
Tips 带三角可关闭的文字提示
Oct 06 Javascript
javascript 面向对象封装与继承
Nov 27 Javascript
JavaScript操作select元素和option的实例代码
Jan 29 Javascript
jQuery双向列表选择器DIV模拟版
Nov 01 Javascript
浅谈JS中的常用选择器及属性、方法的调用
Jul 28 Javascript
three.js实现3D模型展示的示例代码
Dec 31 Javascript
vue监听对象及对象属性问题
Aug 20 Javascript
基于elementUI实现图片预览组件的示例代码
Mar 31 Javascript
微信小程序mpvue点击按钮获取button值的方法
May 29 Javascript
关于vue表单提交防双/多击的例子
Oct 31 Javascript
JQuery中DOM加载与事件执行实例分析
Jun 13 #Javascript
JavaScript中的Math.LN2属性用法详解
Jun 12 #Javascript
JavaScript中的Math.E属性使用详解
Jun 12 #Javascript
详解JavaScript中Date.UTC()方法的使用
Jun 12 #Javascript
JavaScript中的parse()方法使用简介
Jun 12 #Javascript
Javascript中setTimeOut和setInterval的定时器用法
Jun 12 #Javascript
jQuery插件datepicker 日期连续选择
Jun 12 #Javascript
You might like
PHP读取XML值的代码(推荐)
2011/01/01 PHP
关于JSON以及JSON在PHP中的应用技巧
2013/11/27 PHP
PHP多线程类及用法实例
2014/12/03 PHP
yii添删改查实例
2015/11/16 PHP
php远程下载类分享
2016/04/13 PHP
PHP二维数组去重算法
2016/12/17 PHP
JavaScript 参数中的数组展开 [译]
2012/09/21 Javascript
Javascript获取窗口(容器)的大小及位置参数列举及简要说明
2012/12/09 Javascript
Jquery Uploadify上传带进度条的简单实例
2014/02/12 Javascript
Nodejs Post请求报socket hang up错误的解决办法
2014/09/25 NodeJs
JavaScript代码应该放在HTML代码哪个位置比较好?
2014/10/16 Javascript
JS+CSS实现下拉列表框美化效果(3款)
2015/08/15 Javascript
jquery判断类型是不是number类型的实例代码
2016/10/07 Javascript
微信小程序 Windows2008 R2服务器配置TLS1.2方法
2016/12/05 Javascript
Bootstrap table两种分页示例
2016/12/23 Javascript
js禁止浏览器页面后退功能的实例(推荐)
2017/09/01 Javascript
JavaScript前端页面搜索功能案例【基于jQuery】
2019/07/10 jQuery
Kettle中使用JavaScrip调用jar包对文件内容进行MD5加密的操作方法
2020/09/04 Javascript
解决VantUI popup 弹窗不弹出或无蒙层的问题
2020/11/03 Javascript
[02:51]2014DOTA2国际邀请赛 IG战队官方纪录片
2014/07/21 DOTA
python实现控制电脑鼠标和键盘,登录QQ的方法示例
2019/07/06 Python
Ubuntu下Python+Flask分分钟搭建自己的服务器教程
2019/11/19 Python
python 画3维轨迹图并进行比较的实例
2019/12/06 Python
详解pycharm自动import所需的库的操作方法
2020/11/30 Python
css3背景图片透明叠加属性cross-fade简介及用法实例
2013/01/08 HTML / CSS
过程装备与控制工程专业个人的求职信
2013/12/01 职场文书
秘书专业自荐信范文
2013/12/26 职场文书
超市客服工作职责
2014/06/11 职场文书
汇报材料怎么写
2014/12/30 职场文书
史上最牛辞职信
2015/05/13 职场文书
2015大一新生军训感言
2015/08/01 职场文书
中学团支部工作总结
2015/08/13 职场文书
2016暑期社会实践心得体会范文
2016/01/14 职场文书
《乌鸦喝水》教学反思
2016/02/19 职场文书
详解缓存穿透击穿雪崩解决方案
2021/05/28 Redis
vue使用echarts实现折线图
2022/03/21 Vue.js