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 自动转到命名锚记
Jan 10 Javascript
JavaScript Math.floor方法(对数值向下取整)
Jan 09 Javascript
jQuery实现仿微软首页感应鼠标变化滑动窗口效果
Oct 08 Javascript
JS控制静态页面之间传递参数获取参数并应用的简单实例
Aug 10 Javascript
JS绘制微信小程序画布时钟
Dec 24 Javascript
微信小程序 基础知识css样式media标签
Feb 15 Javascript
使用wxapp-img-loader自定义组件实现微信小程序图片预加载功能
Oct 18 Javascript
js中位运算的运用实例分析
Dec 11 Javascript
Vuex的实战使用详解
Oct 31 Javascript
jQuery实现可编辑的表格
Dec 11 jQuery
vue实现给div绑定keyup的enter事件
Jul 31 Javascript
Vue Router中应用中间件的方法
Aug 06 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
亚洲咖啡有什么?亚洲咖啡产地介绍 亚洲咖啡有什么特点?
2021/03/05 新手入门
JpGraph php柱状图使用介绍
2011/08/23 PHP
ThinkPHP模板引擎之导入资源文件方法详解
2014/06/18 PHP
php使用递归函数实现数字累加的方法
2015/03/16 PHP
Linux平台php命令行程序处理管道数据的方法
2016/11/10 PHP
2017年最新PHP经典面试题目汇总(上篇)
2017/03/17 PHP
js一组验证函数
2008/12/20 Javascript
jQuery load方法用法集锦
2011/12/06 Javascript
html中使用javascript调用本地程序(exe、doc等)实现代码
2013/04/26 Javascript
Javascript 修改String 对象 增加去除空格功能(示例代码)
2013/11/30 Javascript
深入了解Node.js中的一些特性
2014/09/25 Javascript
Node.js实现批量去除BOM文件头
2014/12/20 Javascript
Jquery和Js获得元素标签名称的方法总结
2016/10/08 Javascript
javascript异步编程的六种方式总结
2019/05/17 Javascript
我要点爆”微信小程序云开发之项目建立与我的页面功能实现
2019/05/26 Javascript
Vue el-autocomplete远程搜索下拉框并实现自动填充功能(推荐)
2019/10/25 Javascript
vue3.0 的 Composition API 的使用示例
2020/10/26 Javascript
python中精确输出JSON浮点数的方法
2014/04/18 Python
python函数中return后的语句一定不会执行吗?
2017/07/06 Python
Python实现将文本生成二维码的方法示例
2017/07/18 Python
python判断一个集合是否为另一个集合的子集方法
2018/05/04 Python
Python实现监控键盘鼠标操作示例【基于pyHook与pythoncom模块】
2018/09/04 Python
python三方库之requests的快速上手
2019/03/04 Python
numpy ndarray 按条件筛选数组,关联筛选的例子
2019/11/26 Python
Python变量格式化输出实现原理解析
2020/08/06 Python
Python3爬虫RedisDump的安装步骤
2021/02/20 Python
html5 canvas移动浏览器上实现图片压缩上传
2016/03/11 HTML / CSS
HTML 5.1来了 9月份正式发布 更新内容预览
2016/04/26 HTML / CSS
Right-on官方网站:日本知名的休闲服装品牌
2019/07/12 全球购物
测绘专业大学生职业生涯规划书
2014/02/10 职场文书
小学生竞选班干部演讲稿
2014/04/24 职场文书
新婚姻法离婚协议书范文
2014/11/30 职场文书
外出学习心得体会范文
2016/01/18 职场文书
高中议论文(范文2篇)
2019/08/19 职场文书
一文弄懂MySQL索引创建原则
2022/02/28 MySQL
Golang 链表的学习和使用
2022/04/19 Golang