jQuery事件使用方法总结(2)

keyup() 松开键盘

$(window).keydown([20],function (event) { $div.css({ "background": "blue", }); console.log(event); }) $(window).keyup([20],function (event) { $div.css({ "background": "blue", }); console.log(event); })

参数同上。

keydown和keypress方法区别在于,keypress事件不会触发所有的按键,比如 ALT、CTRL、SHIFT、ESC等。

三、焦点事件 * 元素获取和失去焦点

blur() 元素失去焦点

focus() 元素获得焦点

$put = $("input"); $put.focus():元素自动获取焦点 $put.focus(function (event) { console.log(event); $div.css({ "background": "blue", }) })//获取焦点后触发事件 $put.blur(function (event) { console.log(event); $div.css({ "background": "blue", }) })//失去焦点后触发事件

参数同click;

焦点事件一般使用在input标签上,其他的标签一般得不到焦点。

四、表单事件 * submit(): 用户递交表单 $(".form").submit(function (event) { alert("提交事件"); console.log(event); //阻止系统默认事件 event.defaultPrevented(); return false; })

submit事件绑定在form表单上,点击提交按钮时触发该事件,可以对系统默认的提交进行拦截。

event.defaultPrevented();//阻止系统提交数据

五、其他事件 * ready():DOM加载完成后执行

这个事件用来防止js报错,每次引入js都要使用,不在赘述。

* resize():浏览器窗口的大小发生改变触发事件 $(window).resize(function () { console.log($(window).width()); })

参数同click,这个事件需要绑定在window上才会生效,用于监控窗口的变化。

* scroll():滚动条的位置发生变化 * change(): 表单元素的值发生变化 $put.change(function () { $div.css({ "background": "blue", }); })

当表单元素如单选框、多选框、文本框等值发生变化时触发。

* unload() :用户离开页面 $(document).unload(function () { $div.css({ "background": "blue", }); console.log("likai"); }) 六、通用的绑定事件和解绑方法 * bind():绑定 $(function(){ $('div').bind('mouseover click', function(event) { alert($(this).html()); }); });

参数:第一个参数为需要绑定的事件的名字,可以绑定多个事件,之间用空格隔开;第二个参数是处理函数。

* unbind():解绑 $(function(){ $('#div1').bind('mouseover click', function(event) { // $(this).unbind();解绑所有事件 $(this).unbind('mouseover');解绑指定事件 }); });

参数同bind。

* on():绑定和委托都可用的方法 $("div").on(event,childSelector,data,function); //四个参数 $(function(){ $('div').on('mouseover click', function(event) { $(this).css({ "background": "blue", }); }); });

参数

event,需要绑定的事件,多个事件用空格隔开;

function:事件的处理方法。

childSelector:选择需要委托的元素,用于委托事件。

data:额外的传参。

* off():解绑 $(function(){ $('#div1').on('mouseover click', function(event) { // $(this).off();解绑所有事件 $(this).off('mouseover');解绑指定事件 }); }); * one():绑定一次自动解绑

如果需要触发事件一次后就自动失效,比如:按钮点击一次后 就失效使用这个方法。

$(function(){ $('div').one('mouseover click', function(event) { $(this).css({ "background": "blue", }); }); });

注意:当一次性绑定多个事件时,多个事件相互是独立的,即如果有一个事件被触发,那么这个事件解绑,对另外没有被触发的事件没有影响。

七、自定义和主动触发事件

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/42608c05fa57ab6b83a9c7d03a7fa0c3.html