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()