【jQuery】学习整理(四)事件
事件
常用
参数格式
.xxx( handler(eventObject) )
.xxx( [eventData], handler(eventObject) )
.click()
.dbclick()
.change()
.focus()
.blur()
.keydown()
.keyup
.mousedown()
.mouseup
.mouseover
.ready()
.load()
.resize()
.submit()
Event Object
jQuery的事件对象基于W3C标准,浏览器本身的源事件的属性都copy过来并进一步封装。
event.data 事件的附加数据
event.preventDefault() 阻止默认行为 与handler返回false是一样的效果
event.stopPropagation() 阻止继续往上冒泡
event.pageX()与event.pageY() mouse相对document的左边距和顶边距
event.target 事件发生的元素 原生兼容写法
var e = e || window.event;
var target = e.srcElement ? e.srcElement : e.target,
event.namespace 命名空间。可以在同一个事件下面挂多个空间。
event.which 针对press的button或key的值
通用入口
.bind() 绑定事件(可以自定义事件)指定事件时候可使用命名空间 如
.bind('click.name', handler)
可以指定事件附加数据
$(this).bind('click', {index:i}, function(e){
alert('my index is ' + e.data.index);
});
.trigger( eventType, extraParameters ) 手动触发
如
$('#foo').bind('custom', function(event, param1, param2) {
alert(param1 + "\n" + param2);
});
$('#foo').trigger('custom', ['Custom', 'Event']);
或者传入jQuery的Event Object,如
var e = jQuery.Event("keydown", { keyCode: 64 });
jQuery("body").trigger( e );
.unbind()
jQuery.proxy( function, context ) 切换上下文