js基本知识比较系列三:事件

随声附和 提交于 2019-12-05 14:44:00

javascript原生事件

属性 当以下情况发生时,出现此事件 FF N IE
onabort 图像加载被中断 1 3 4
onblur 元素失去焦点 1 2 3
onchange 用户改变域的内容 1 2 3
onclick 鼠标点击某个对象 1 2 3
ondblclick 鼠标双击某个对象 1 4 4
onerror 当加载文档或图像时发生某个错误 1 3 4
onfocus 元素获得焦点 1 2 3
onkeydown 某个键盘的键被按下 1 4 3
onkeypress 某个键盘的键被按下或按住 1 4 3
onkeyup 某个键盘的键被松开 1 4 3
onload 某个页面或图像被完成加载 1 2 3
onmousedown 某个鼠标按键被按下 1 4 4
onmousemove 鼠标被移动 1 6 3
onmouseout 鼠标从某元素移开 1 4 4
onmouseover 鼠标被移到某元素之上 1 2 3
onmouseup 某个鼠标按键被松开 1 4 4
onreset 重置按钮被点击 1 3 4
onresize 窗口或框架被调整尺寸 1 4 4
onselect 文本被选定 1 2 3
onsubmit 提交按钮被点击 1 2 3
onunload 用户退出页面 1 2 3

所以通用的方法是: 

var e=e||event;

var charCode=e.keyCode||e.which||e.charCode

var keyName=String.fromCharCode(charCode)


jquery 事件

事件绑定: bind(type [.data] fn);  unbind("click")

$("#btn").bind("click",myFun1=function(){})  $("#btn").unbind("click",myFun1)

bind可加命名空间 bing("click.my",function(){})

one()绑定一次,立即被删除

合成事件: hover  toggle

$("#panel").hover(function(){},function(){}); hover()方法是替代jquery中的mouseenter 和 mouseleave

冒泡: event.stopPropagation()

默认行为:event.preventDefault()可以改写成return false

jquery不支持事件捕获

event:event.type、event.preventDefault() 、event.stopPropagation() 、event.target、event.relatedTarget、event.pageX、event.pageY(如没有jquery,IE用event.x,firefox用event.pageX.页面有滚动条,加上滚动条的高度和宽度)、event.which(1=鼠标左键,2=中键,3=右键)、event.metaKey(针对键盘中<ctrl>按键不同浏览器不同)等

模拟事件: trigger()








标签
易学教程内所有资源均来自网络或用户发布的内容,如有违反法律规定的内容欢迎反馈
该文章没有解决你所遇到的问题?点击提问,说说你的问题,让更多的人一起探讨吧!