jquery一些 事件的用法
2024-08-31 22:57:18
在jquery中有许多的事件,在使用时可分为两类吧,一种是基本的事件,如click、blur、change、foucus等,这些是通过简单封装js用法,使用如:
- $("a[name=link]").click(function(event){
- //事件event;可用多个对象进行绑定用逗号分割 $("div,#link").click();
- event.stopPropagation();//不再派发事件
- });
$("a[name=link]").click(function(event){
//事件event;可用多个对象进行绑定用逗号分割 $("div,#link").click();
event.stopPropagation();//不再派发事件
});
- $("a[name=link]").keydown(function(event){//事件event
- if(event.keyCode=='13'){//记录点击的键盘编码 13为回车
- event.preventDefault();//不要执行与事件关联的默认动作
- }
- });
$("a[name=link]").keydown(function(event){//事件event
if(event.keyCode=='13'){//记录点击的键盘编码 13为回车
event.preventDefault();//不要执行与事件关联的默认动作
}
});
//etc.
以上俩个例子,就是触发浏览器中的行为,还有很多,可参考jquety的文档,主要介绍是jquery所提供的其他方法如:bind,live,toggle,trigger,hover
1、bind()与unbind()
bind()是将元素进行行为上的绑定 例:
- $("a[name=link]").bind("click",function(event){//绑定click事件
- alert(event.pageX);//点击处x轴位置
- alert(event.pageY);//点击处Y轴位置
- });
- $("a[name=link]").bind("mouseenter mouseleave",function(){//绑定多个事件 鼠标移入移出
- //do something
- });
$("a[name=link]").bind("click",function(event){//绑定click事件
alert(event.pageX);//点击处x轴位置
alert(event.pageY);//点击处Y轴位置
}); $("a[name=link]").bind("mouseenter mouseleave",function(){//绑定多个事件 鼠标移入移出
//do something
});
uubind() 顾名思义 是解除绑定
- $("a[name=link]").unbind();//不加参数就解除此对象所有事件
$("a[name=link]").unbind();//不加参数就解除此对象所有事件
需要注意一下,当我们用js去给文档添加元素的时候,bind已经绑定的动作是失效的,除非添加元素后再重新绑定,或者使用live()去进行绑定 例如
- <div id="demo">
- <div>
- $("#demo").append("<a href='javascript:void(0)' id='link'>text</a>");
- $("#link").bind("click",function(){//这种事不效果的
- alert(1);
- });
<div id="demo"> <div>
$("#demo").append("<a href='javascript:void(0)' id='link'>text</a>");
$("#link").bind("click",function(){//这种事不效果的
alert(1);
});
2、live()是指附加处理器的元素,跟bind()用法基本一致,区别是live()可以使元素在任何时候添加,仍然响应事件
例子同bind() 就不举例说明了,注意区别就行了
3、toggle() 按照顺序依次调用指定的函数,然后重复调用,一般会做事件轮转切换,做动画效果
- $("a[name=link]").toggle(//点击一下会弹出1 再点击为2 。。3.。1.。2.。3.。。。
- function(){alert(1);},
- function(){alert(2);},
- function(){alert(3);}
- );
$("a[name=link]").toggle(//点击一下会弹出1 再点击为2 。。3.。1.。2.。3.。。。
function(){alert(1);},
function(){alert(2);},
function(){alert(3);}
);
如果没有参数为隐藏显示转换 可加参数 毫秒数或者slow fast字符串,详细请看jquery文档吧~
文档的例子很详细这就不在阐述了
4、trigger()是触发被选元素的事件
如当我们绑定了一个click事件,我们就可以通过trigger()去触发
- $("#link").bind("click",function(event){
- alert(1);
- });
- $("#link").trigger("click");
$("#link").bind("click",function(event){
alert(1);
});
$("#link").trigger("click");
5、hover()是同时绑定mouseenter()
和 mouseleave()
的事件,对做鼠标移入移出的动画效果还是很方便的
- $("a[name=link]").hover(
- function () {
- $(this).append($("<span> ***</span>"));
- },
- function () {
- $(this).find("span:last").remove();
- }
- );
最新文章
- C# Socket简单例子(服务器与客户端通信)
- 由一段JS代码引发的思考
- 线性代数 -- Linear Algebra with Applications
- ReactJs设置css样式
- selenium webdriver三种等待方法
- 从扩展方法到匿名方法再到LINQ
- 17) JMS: java Message Service(Java消息服务)
- trident 序列号问题
- 最近adt升级引起的问题
- 数据切分——MySql表分区概述
- 平均时间复杂度为O(nlogn)的排序算法
- 前端工程化grunt
- 基于Parallax设计HTML视差效果
- ECSHOP模板 蘑菇街2018广告楼层设置说明
- RxJava操作符(02-创建操作)
- mysqlbinlog 工具分析binlog日志
- 转:Command ";python setup.py egg_info"; failed with error code 1 in /tmp/pip-install-j8m0mf5q/mysqlclient
- Html与CSS学习书单
- Access restriction: The type 'BASE64Encoder'
- 阿里云 docker连接总报超时 registry.cn-hangzhou.aliyuncs.com (Client.Timeout exceeded while awaiting headers