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 相关文章推荐
javascript 中对象的继承〔转贴〕
Jan 22 Javascript
XML的代替者----JSON
Jul 21 Javascript
JS中操作JSON总结
Dec 06 Javascript
JavaScript汉诺塔问题解决方法
Apr 21 Javascript
JS实时弹出新消息提示框并有提示音响起的实现代码
Apr 20 Javascript
js实现把图片的绝对路径转为base64字符串、blob对象再上传
Dec 29 Javascript
BootStrap实现轮播图效果(收藏)
Dec 30 Javascript
jquery滚动条插件slimScroll使用方法
Feb 09 Javascript
javascript html5轻松实现拖动功能
Mar 01 Javascript
JavaScript深拷贝和浅拷贝概念与用法实例分析
Jun 07 Javascript
vue 使用v-for进行循环的实例代码详解
Feb 19 Javascript
JS变量提升及函数提升实例解析
Sep 03 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
用PHP4访问Oracle815
2006/10/09 PHP
PHP集成FCK的函数代码
2008/09/27 PHP
php数组对百万数据进行排除重复数据的实现代码
2010/06/08 PHP
PHP中基于ts与nts版本- vc6和vc9编译版本的区别详解
2013/04/26 PHP
php解析url的三个示例
2014/01/20 PHP
php 生成短网址原理及代码
2014/01/23 PHP
几道坑人的PHP面试题 试试看看你会不会也中招
2014/08/19 PHP
php基本函数汇总
2015/07/09 PHP
PHP+MySQL实现无极限分类栏目的方法
2015/12/23 PHP
在Mac OS下搭建LNMP开发环境的步骤详解
2017/03/10 PHP
javascript日期计算实例分析
2015/06/29 Javascript
javascript如何操作HTML下拉列表标签
2015/08/20 Javascript
GitHub上一些实用的JavaScript的文件压缩解压缩库推荐
2016/03/13 Javascript
JS随机洗牌算法之数组随机排序
2016/03/23 Javascript
使用jQuery制作浮动工具栏的实例分享
2016/05/13 Javascript
jQuery Ajax 实现分页 kkpager插件实例代码
2017/08/10 jQuery
利用JQUERY实现多个AJAX请求等待的实例
2017/12/14 jQuery
详解webpack3编译兼容IE8的正确姿势
2017/12/21 Javascript
weui上传多图片,压缩,base64编码的示例代码
2020/06/22 Javascript
python爬虫爬取幽默笑话网站
2019/10/24 Python
Python小程序之在图片上加入数字的代码
2019/11/26 Python
基于python3生成标签云代码解析
2020/02/18 Python
Python selenium模拟手动操作实现无人值守刷积分功能
2020/05/13 Python
使用python创建Excel工作簿及工作表过程图解
2020/05/27 Python
Python第三方包PrettyTable安装及用法解析
2020/07/08 Python
德国孕妇装和婴童服装网上商店:bellybutton
2018/04/12 全球购物
美国最值得信赖的宠物药房:Allivet
2019/03/23 全球购物
Moss Bros官网:英国排名第一的西装店
2020/02/26 全球购物
写clone()方法时,通常都有一行代码,是什么?
2012/10/31 面试题
应届生求职信
2014/05/31 职场文书
试用期员工工作自我评价
2014/09/10 职场文书
甜品店创业计划书
2014/09/21 职场文书
2015教师见习期工作总结
2014/12/12 职场文书
酒店财务总监岗位职责
2015/04/03 职场文书
二十年同学聚会感言
2015/07/30 职场文书
Spring Security中用JWT退出登录时遇到的坑
2021/10/16 Java/Android