JQuery中DOM事件合成用法实例分析


Posted in Javascript onJune 13, 2015

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

jQuery有两个合成事件——hover()方法和toggle()方法,类似前面讲过的ready()方法,hover()方法和toggle()方法都属于jQuery自定义的方法。

hover()方法

hover()方法的语法结构为:
hover(enter,leave);

hover()方法用于模拟光标悬停事件。当光标移动到元素上时,会触发指定的第1个函数(enter);当光标移出这个元素时,会触发指定的第2个函数(leave)。

代码为:

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

代码运行后的效果与下面代码运行后的效果是一样的。当光标滑过“标题”链接时,相应的“内容”将被显示;当光标滑出“标题”链接后,相应的“内容”则被隐藏。

$(function(){ 
 $("#panel h5.head").mouseover(function(){ 
  $(this).next("div.content").show(); 
 }); 
 $("#panel h5.head").mouseover(function(){ 
  $(this).next("div.content").hide(); 
 }) 
});

注意:

1. CSS中有伪类选择符,例如“:hover",当用户光标悬停在元素上时,会改变元素的外观。在大多数符合规范的浏览器中,伪类选择符可以用于任何元素。然而在IE 6浏览器中,伪类选择符仅可用于超链接元素。对于其他元素,可以使用jQuery的hover()方法。

2. hover()方法准确来说是替代jQuery中的bind("mouseenter")和bind("mouseleave"),而不是替代bind("mouseover")和bind("mouseout")。因此当需要触发hover()方法的第2个函数时,需要用trigger("mouseleave")来触发,而不是trigger("mouseout")。

toggle()方法

toggle()方法的语法结构为:
toggle(fnl, fn2, ...fnN);

toggle()方法用于模拟鼠标连续单击事件。第1次单击元素,触发指定的第1个函数(fn1);当再次单击同一元素时,则触发指定的第2个函数(fh2);如果有更多函数,则依次触发,直到最后一个。随后的每次单击都重复对这几个函数的轮番调用。

在前面的加强效果的例子中,使用了以下jQuery代码:

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

通过使用toggle()方法不仅实现了同样的效果,同时也简化了代码。

toggle()方法在jQuery中还有另外一个作用:切换元素的可见状态。如果元素是可见的,单击切换后则为隐藏;如果元素是隐藏的,单击切换后则为可见的。因此上面的代码还可以写成如下jQuery代码:

$(function(){ 
 $("#panel h5.head").toggle(function(){ 
  $(this).next().toggle(); 
 },function(){ 
  $(this).next().toggle(); 
 }) 
})

为了能有更好的用户体验,现在需要在用户单击“标题”链接后,不仅显示“内容”,而且高亮显示“标题”。代码为:

$(function(){ 
 $("#panel h5.head").toggle(function(){ 
   $(this).addClass("highlight"); 
  $(this).next().show(); 
 },function(){ 
  $(this).removeClass("highlight"); 
   $(this).next().hide(); 
 }); 
})

运行代码后,如果“内容”是显示的,“标题”则会高亮显示:如果“内容”是隐藏的,则不会高亮显示“新闻标题”。

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

Javascript 相关文章推荐
javascript学习笔记(三)显示当时时间的代码
Apr 08 Javascript
jquery绑定原理 简单解析与实现代码分享
Sep 06 Javascript
table对象中的insertRow与deleteRow使用示例
Jan 26 Javascript
Javascript数组与字典用法分析
Dec 13 Javascript
全屏js头像上传插件源码高清版
Mar 29 Javascript
微信小程序 action-sheet 反馈上拉菜单简单实例
May 11 Javascript
Vue ElementUI之Form表单验证遇到的问题
Aug 21 Javascript
初识 Vue.js 中的 *.Vue文件
Nov 22 Javascript
详解layui中的树形关于取值传值问题
Jan 16 Javascript
微信小程序解除10个请求并发限制
Dec 18 Javascript
javascript严格模式详解(含严格模式与非严格模式的区别)
Nov 12 Javascript
wepy--用vantUI 实现上弹列表并选择相应的值操作
Nov 03 Javascript
JQuery中DOM事件绑定用法详解
Jun 13 #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
You might like
PHP最常用的2种设计模式工厂模式和单例模式介绍
2012/08/14 PHP
PHP中数字检测is_numeric与ctype_digit的区别介绍
2012/10/04 PHP
php5.3 注意事项说明
2013/07/01 PHP
一个显示效果非常不错的PHP错误、异常处理类
2014/03/21 PHP
smarty模板引擎之分配数据类型
2015/03/30 PHP
Laravel推荐使用的十个辅助函数
2019/05/10 PHP
PHP字符串中抽取子串操作实例分析
2019/06/22 PHP
收藏Javascript中常用的55个经典技巧
2007/08/12 Javascript
Prototype String对象 学习
2009/07/19 Javascript
jquery关于页面焦点的定位(文本框获取焦点时改变样式 )
2010/09/10 Javascript
js TextArea的选中区域处理
2010/12/28 Javascript
你必须知道的JavaScript 中字符串连接的性能的一些问题
2013/05/07 Javascript
Vue中使用vux的配置详解
2017/05/05 Javascript
详解AngularJS ng-class样式切换
2017/06/27 Javascript
vue-resource + json-server模拟数据的方法
2017/11/02 Javascript
解决vue项目报错webpackJsonp is not defined问题
2018/03/14 Javascript
浅谈redux以及react-redux简单实现
2018/08/28 Javascript
Vue实现美团app的影院推荐选座功能【推荐】
2018/08/29 Javascript
react 国际化的实现代码示例
2018/09/14 Javascript
详解Vue中的Props与Data细微差别
2020/03/02 Javascript
eslint+prettier统一代码风格的实现方法
2020/07/22 Javascript
python网络编程学习笔记(九):数据库客户端 DB-API
2014/06/09 Python
Python使用functools模块中的partial函数生成偏函数
2016/07/02 Python
关于Python数据结构中字典的心得
2017/12/04 Python
Python实现string字符串连接的方法总结【8种方式】
2018/07/06 Python
如何用Python进行时间序列分解和预测
2021/03/01 Python
css3实现冲击波效果的示例代码
2018/01/11 HTML / CSS
某公司.Net方向面试题
2014/04/24 面试题
一道Delphi上机题
2012/06/04 面试题
军训生自我鉴定范文
2013/12/27 职场文书
项目开发计划书
2014/01/09 职场文书
企业安全生产承诺书
2014/05/22 职场文书
社团活动总结报告
2014/06/27 职场文书
师德师风自查总结
2014/10/14 职场文书
关于运动会的广播稿50字
2014/10/17 职场文书
2014年电工工作总结
2014/11/20 职场文书