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

 更新时间:2015年06月13日 10:37:16   作者:简明现代魔法  
这篇文章主要介绍了JQuery中DOM事件合成用法,以实例形式分析了hover()方法和toggle()方法实现事件合成的相关技巧,需要的朋友可以参考下

本文实例讲述了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程序设计有所帮助。

相关文章

  • jQuery实现在最后一个元素之前插入新元素的方法

    jQuery实现在最后一个元素之前插入新元素的方法

    这篇文章主要介绍了jQuery实现在最后一个元素之前插入新元素的方法,涉及jquery针对页面元素的匹配选择与属性操作相关技巧,具有一定参考借鉴价值,需要的朋友可以参考下
    2015-07-07
  • jQuery使用方法

    jQuery使用方法

    本文主要介绍了jQuery的使用方法,具有很好的参考价值,下面跟着小编一起来看下吧
    2017-02-02
  • jQuery获取css z-index在各种浏览器中的返回值

    jQuery获取css z-index在各种浏览器中的返回值

    jQuery 取 css z-index 值在各种浏览器中的返回值的代码,需要的朋友可以参考下。
    2010-09-09
  • jQuery图片特效插件Revealing实现拉伸放大

    jQuery图片特效插件Revealing实现拉伸放大

    本文给大家分享的是jQuery图片展示效果,使用的是jQuery Revealing插件,不点击的情况下,图片整齐排列成一行,当任意一个图片缩略图被点击的时候,该图片就放大显示,当点击关闭按钮时图片又重新还原了缩略图模式。
    2015-04-04
  • jQuery仿Excel表格编辑功能的实现代码

    jQuery仿Excel表格编辑功能的实现代码

    Handsontable 是一个相当给力的 jQuery 插件,它实现了 HTML 页面中的表格编辑功能,并且是仿 Excel 的编辑效果。
    2013-05-05
  • JQuery 获取多个select标签option的text内容(实例)

    JQuery 获取多个select标签option的text内容(实例)

    下面小编就为大家带来一篇JQuery 获取多个select标签option的text内容(实例)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-09-09
  • jquery插件开发模式实例详解

    jquery插件开发模式实例详解

    这篇文章主要介绍了jquery插件开发模式,结合实例形式详细分析了jQuery插件三种开发方式实现方法与相关操作技巧,需要的朋友可以参考下
    2019-07-07
  • JQuery中的ready函数冲突的解决方法

    JQuery中的ready函数冲突的解决方法

    jQuery确实是一个提高前端开发效率的好框架(虽然很多大牛们都说它效率不咋地),但是用好它有时候并不容易,也许你也遇到过以下情况
    2010-05-05
  • jquery插件制作简单示例说明

    jquery插件制作简单示例说明

    今天刚刚把jquery的插件制作学习了一下,总结一下别人写的和自己的心得,方便其他初学者的学习,考虑到要学习jquery插件制作的人一定知道jquery插件的好处和通用性,这里就不多说
    2012-02-02
  • Jquery使用原生AJAX方法请求数据

    Jquery使用原生AJAX方法请求数据

    本文详细讲解了Jquery使用AJAX方法请求数据,文中通过示例代码介绍的非常详细。对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-02-02

最新评论