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", }); }); });注意:当一次性绑定多个事件时,多个事件相互是独立的,即如果有一个事件被触发,那么这个事件解绑,对另外没有被触发的事件没有影响。
七、自定义和主动触发事件