jQuery中的事件

本文详细介绍了jQuery中的各种事件,包括基础事件如window、鼠标、键盘和表单事件,以及复合事件如鼠标悬停和连续点击的处理。还涵盖了bind(),unbind()方法的应用以及hover()和toggle()的使用示例。
摘要由CSDN通过智能技术生成

jQuery中的事件

jQuery事件是对JavaScript事件的封装,常用事件分类如下:

基础事件:window事件  鼠标事件  键盘事件  表单事件

复合事件(多个事件的组合):鼠标光标悬停  鼠标连续点击

1、鼠标事件

鼠标事件是当用户在文档上移动或单击鼠标时而产生的事件,常用鼠标事件有:

方法描述执行时机
click( )触发或将函数绑定到指定元素的click事件单击鼠标时
mouseover( )触发或将函数绑定到指定元素的mouse over事件鼠标移过时
mouseout( )触发或将函数绑定到指定元素的mouse out事件鼠标移出时

以mouseover()为例,实现鼠标移过时特效

//当鼠标移过元素时 为事件添加响应方法
$("#nav li").mouseover(function() { //当鼠标移过#nav li元素时
$(this). addClass("heightlight"); //为鼠标所在li元素添加样式
});
$("#nav li").mouseout(function() { //当鼠标移出#nav li元素时
$(this).removeClass(); //移除鼠标所在li元素的全部样式
});
//this指鼠标所在事件的当前元素对象

2、键盘事件

用户每次按下或者释放键盘上的键时都会产生事件,常用键盘事件有:

方法描述执行时机
keydown( )触发或将函数绑定到指定元素的keydown事件按下键盘时
keyup( )触发或将函数绑定到指定元素的keyup事件释放按键时
keypress( )触发或将函数绑定到指定元素的keypress事件产生可打印的字符时

3、表单事件

当元素获得焦点时,会触发focus事件,失去焦点时,会触发blur事件,详见下表:

方法描述执行时机
focus( )触发或将函数绑定到指定元素的focus事件获得焦点
blur( )触发或将函数绑定到指定元素的blur事件失去焦点

示例:

<p>
<label>用户名:</label>
<input name="member" type="text" />
</p>
<p>
<label>密码:</label>
<input name="password" type="text" />
</p>

获得焦点设置样式,失去焦点去除样式

$(document).ready(function () {
$("[name=member]").focus(function(){
$(this).addClass("input_focus");
});
$("[name=member]").blur(function(){
$(this).removeClass("input_focus");
});
});

二、绑定事件bind()

除了使用事件名绑定事件外,还可以使用bind()方法

1、绑定单个事件

语法:bind("事件名",函数)

"click": 事件类型 事件类型要用引号引起来

”function()“ : 处理函数

2、同时绑定多个事件方法

bind({事件名:函数,事件名:函数,.....})

$("input[name=event_1]").bind({
"mouseover": function () {//为mouseover绑定方法
$("ul").css("display", "none");
},
"mouseout": function () {//为mouseout绑定方法
$("ul").css("display", "block");
}
});

三、移除事件unbind()

参数含义描述
[type]事件类型主要包括:blur、focus、click、mouseout等基础事件,此外,还可以是 自定义事件
[fn]处理函数用来绑定的处理函数

注意:当unbind()不带参数时,表示移除所绑定的全部事件

function testUnbind(){//定义一个函数移除单个事件
$("input[name=userName]").unbind("mouseover");
}

四、复合事件

1、鼠标光标悬停事件hover()

鼠标光标悬停事件hover()方法相当于mouseover与mouseout事件的组合

$(document).ready(function() {
$("#myaccound").hover(function(){//移入触发
$("#menu_1").css("display","block");
},
function(){//光标移出时触发
$("#menu_1").css("display","none");
}
);
});

2、鼠标连续click事件

toggle()

A、用于绑定两个或多个事件处理器函数,以响应被选元素的轮流的 click 事件。

B、如果元素是可见的,切换为隐藏的;如果元素是隐藏的,切换为可见的。 toggle()方法用于模拟鼠标连续click事件(在1.9以后的版本中移除了)

$(document).ready(function () {
$("div[class=testToggle]").toggle(
function () {
$(this).css("background-color", "red");//第一次单击
},
function () {
$(this).css("background-color", "green"); //第二次
},
function () {
$(this).css("background-color", "blue"); //第三次
}
);
});

感谢大家的阅读,如有不对的地方,可以私信我,感谢大家!

  • 6
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值