JQuery中DOM事件合成用法实例分析
来源:互联网 发布:刘文展 举报事件知乎 编辑:程序博客网 时间:2024/05/16 19:08
这篇文章主要介绍了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中DOM事件合成用法实例分析
- JQuery中DOM事件冒泡实例分析
- jQuery中DOM事件冒泡实例分析
- JQuery中Bind()事件用法分析
- JQuery中serialize()用法实例分析
- JQuery中serialize()用法实例分析
- Jquery Dom事件函数应用实例
- jQuery事件及DOM操作实例
- jquery 合成事件
- jquery中DOM加载事件,onload事件和ready事件
- jquery合成事件-hover() toggle()
- jquery的toggle合成事件
- Jquery源码分析---DOM元素(中)
- 4.1.3: jQuery事件之合成事件
- jQuery之事件绑定&合成事件
- JQuery中的事件 (三.合成事件)
- jQuery源码分析-10事件处理-Event-DOM-ready
- jQuery源码分析-10事件处理-Event-DOM-ready
- Linux中查看二进制文件
- Android线程问题
- poj1577Falling Leaves--二叉排序树
- PCB设计之——补泪滴
- Android换肤之——插件换肤
- JQuery中DOM事件合成用法实例分析
- iOS解决两个静态库的冲突 duplicate symbol
- linux下离线更新nessus漏洞插件的方法
- APKTool使用方法
- blob类型转字符串
- 你不得不知道的:关于TnPM的定位问题
- easyui列表查询报错:Cannot read property 'length' of undefined
- BZOJ 4010: [HNOI2015]菜肴制作|拓扑排序贪心
- 关于ARGB_8888、ALPHA_8、ARGB_4444、RGB_565的区别