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 相关文章推荐
抽出www.templatemonster.com的鼠标悬停加载大图模板的代码
Jul 11 Javascript
Jquery从头学起第四讲 jquery入门教程
Aug 01 Javascript
JS 添加千分位与去掉千分位的示例
Jul 11 Javascript
触屏中的JavaScript事件分析
Feb 06 Javascript
javascript实现获取服务器时间
May 19 Javascript
Node.js 数据加密传输浅析
Nov 16 Javascript
js中new一个对象的过程
Feb 20 Javascript
Angular2 组件间通过@Input @Output通讯示例
Aug 24 Javascript
js获取html页面代码中图片地址的实现代码
Mar 05 Javascript
看看“疫苗查询”小程序有温度的代码
Jul 31 Javascript
Vue组件系列开发之模态框
Apr 18 Javascript
javascript设计模式 ? 职责链模式原理与用法实例分析
Apr 16 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
百度地图API应用之获取用户的具体位置
2014/06/10 PHP
PHP编程计算日期间隔天数的方法
2017/04/26 PHP
js本身的局限性 别让javascript做太多事
2010/03/23 Javascript
javascript hashtable 修正版 下载
2010/12/30 Javascript
window.opener用法和用途实例介绍
2013/08/19 Javascript
JS 屏蔽按键效果与改变按键效果的示例代码
2013/12/24 Javascript
JS中的数组的sort方法使用示例
2014/01/22 Javascript
JS实现的网页倒计时数字时钟效果
2015/03/02 Javascript
jQuery隐藏和显示效果实现
2016/04/06 Javascript
Javascript HTML5 Canvas实现的一个画板
2020/04/12 Javascript
微信小程序 网络请求(post请求,get请求)
2017/01/17 Javascript
jQuery+CSS3实现点赞功能
2017/03/13 Javascript
javascript数据结构之串的概念与用法分析
2017/04/12 Javascript
Jquery获取radio选中的值
2017/05/05 jQuery
AngularJS模态框模板ngDialog的使用详解
2018/05/11 Javascript
详谈js的变量提升以及使用方法
2018/10/06 Javascript
react的滑动图片验证码组件的示例代码
2019/02/27 Javascript
小程序扫描普通链接二维码跳转小程序指定界面方法
2019/05/07 Javascript
angular4应用中输入的最小值和最大值的方法
2019/05/17 Javascript
微信小程序 多行文本显示...+显示更多按钮和收起更多按钮功能
2019/09/26 Javascript
python动态加载变量示例分享
2014/02/17 Python
github配置使用指南
2014/11/18 Python
python3中dict(字典)的使用方法示例
2017/03/22 Python
python简单商城购物车实例代码
2018/03/15 Python
使用 Python 处理 JSON 格式的数据
2019/07/22 Python
Python基于traceback模块获取异常信息
2020/07/23 Python
浅析Python 字符编码与文件处理
2020/09/24 Python
Python 中Operator模块的使用
2021/01/30 Python
日本面向世界,国际级的免税在线购物商城:DOKODEMO
2017/02/01 全球购物
奥地利网上现代灯具和灯饰店:Lampenwelt.at
2018/01/29 全球购物
财务助理岗位职责
2013/11/10 职场文书
禁毒宣传工作方案
2014/05/23 职场文书
2015年仓库管理员工作总结
2015/04/21 职场文书
劳动保障事务所个人工作总结
2015/08/12 职场文书
解决pycharm下载库时出现Failed to install package的问题
2021/09/04 Python
win11如何查看端口是否被占用? Win11查看端口是否占用的技巧
2022/04/05 数码科技