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 相关文章推荐
jquery构造器的实现代码小结
May 16 Javascript
Jquery 例外被抛出且未被接住原因介绍
Sep 04 Javascript
JavaScript解析json格式数据简单示例
Dec 09 Javascript
javascript下拉列表菜单的实现方法
Nov 18 Javascript
喜大普奔!jQuery发布 3.0 最终版
Jun 12 Javascript
jQuery实现单击按钮遮罩弹出对话框效果(1)
Feb 20 Javascript
JavaScript创建对象的七种方式(推荐)
Jun 26 Javascript
JS中图片压缩的方法小结
Nov 14 Javascript
JS计算两个时间相差分钟数的方法示例
Jan 10 Javascript
ES6基础之展开语法(Spread syntax)
Feb 21 Javascript
小程序云函数调用API接口的方法
May 17 Javascript
js实现的格式化数字和金额功能简单示例
Jul 30 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非阻塞模式
2016/03/03 PHP
PHP常用字符串输出方法分析(echo,print,printf及sprintf)
2021/03/09 PHP
javascript  Error 对象 错误处理
2008/05/18 Javascript
单击浏览器右上角的X关闭窗口弹出提示的小例子
2013/06/12 Javascript
关闭浏览器窗口弹出提示框并且可以控制其失效
2014/04/15 Javascript
JavaScript中的6种运算符总结
2014/10/16 Javascript
jquery validate和jquery form 插件组合实现验证表单后AJAX提交
2015/08/26 Javascript
适用于javascript开发者的Processing.js入门教程
2016/02/24 Javascript
JavaScript中的this引用(推荐)
2016/08/05 Javascript
ReactNative页面跳转实例代码
2016/09/27 Javascript
JavaScript实现换肤功能
2017/09/15 Javascript
vue系列之requireJs中引入vue-router的方法
2018/07/18 Javascript
js+html5 canvas实现ps钢笔抠图
2019/04/28 Javascript
js属性对象的hasOwnProperty方法的使用
2021/02/05 Javascript
用python实现的可以拷贝或剪切一个文件列表中的所有文件
2009/04/30 Python
Python不规范的日期字符串处理类
2014/06/10 Python
简要讲解Python编程中线程的创建与锁的使用
2016/02/28 Python
Python列表和元组的定义与使用操作示例
2017/07/26 Python
pygame实现贪吃蛇游戏(上)
2019/10/29 Python
使用Python测试Ping主机IP和某端口是否开放的实例
2019/12/17 Python
Python Pickle 实现在同一个文件中序列化多个对象
2019/12/30 Python
python绘制封闭多边形教程
2020/02/18 Python
python 等差数列末项计算方式
2020/05/03 Python
pip安装提示Twisted错误问题(Python3.6.4安装Twisted错误)
2020/05/09 Python
Python2.6版本pip安装步骤解析
2020/08/17 Python
详解Pytorch显存动态分配规律探索
2020/11/17 Python
Html5 APP中监听返回事件处理的方法示例
2018/03/15 HTML / CSS
canvas绘图按照contain或者cover方式适配并居中显示
2019/02/18 HTML / CSS
Omio英国:搜索并比较便宜的巴士、火车和飞机
2019/08/27 全球购物
大学生自荐信
2013/12/11 职场文书
市场安全管理制度
2014/01/26 职场文书
企业演讲比赛主持词
2014/03/18 职场文书
国旗下的讲话演讲稿
2014/05/08 职场文书
毕业实习自我鉴定范文2014
2014/09/26 职场文书
基层工作经历证明
2015/06/19 职场文书
mysql获取指定时间段中所有日期或月份的语句(不设存储过程,不加表)
2021/06/18 MySQL