jQuery中的event

下面是jQuery事件对象可以在扩浏览器支持的属性:

属性名称 描述 举例
type
事件类型.如果使用一个事件处理函数来处理多个事件, 可以使用此属性获得事件类型,比如click.
$("a").click(function(event) {

alert(event.type);

});
target
获取事件触发者DOM对象
$("a[href=http://google.com]").click(function(event) {

alert(event.target.href);

});
data
事件调用时传入额外参数.
$("a").each(function(i) {

$(this).bind('click', {index:i}, function(e){

alert('my index is ' + e.data.index);

});

});
relatedTarget
对于鼠标事件, 标示触发事件时离开或者进入的DOM元素
$("a").mouseout(function(event) {

alert(event.relatedTarget);

});
currentTarget
冒泡前的当前触发事件的DOM对象, 等同于this.
$("p").click(function(event) {

alert( event.currentTarget.nodeName );

});

结果:P
pageX/Y
鼠标事件中, 事件相对于页面原点的水平/垂直坐标.
$("a").click(function(event) {

alert("Current mouse position: " + event.pageX + ", " + event.pageY );

});
result
上一个事件处理函数返回的值
$("p").click(function(event) {

return "hey"

});

$("p").click(function(event) {

alert( event.result );

});

结果:"hey"
timeStamp
事件发生时的时间戳.
var last;

$("p").click(function(event) {

if( last )

alert( "time since last event " + event.timeStamp - last );

last = event.timeStamp;

});

 

名称 说明 举例
preventDefault()
取消可能引起任何语意操作的事件. 比如<a>元素的href链接加载, 表单提交以及click引起复选框的状态切换.
$("a").click(function(event){

event.preventDefault();

// do something

});
isDefaultPrevented()
是否调用过
preventDefault()
方法
$("a").click(function(event){

alert( event.isDefaultPrevented() );

event.preventDefault();

alert( event.isDefaultPrevented() );

});
stopPropagation()
取消事件冒泡
$("p").click(function(event){

event.stopPropagation();

// do something

});
isPropagationStopped()
是否调用过
stopPropagation()
方法
$("p").click(function(event){

alert( event.isPropagationStopped() );

event.stopPropagation();

alert( event.isPropagationStopped() );

});
stopImmediatePropagation()
取消执行其他的事件处理函数并取消事件冒泡.

如果同一个事件绑定了多个事件处理函数, 在其中一个事件处理函数中调用此方法后将不会继续调用其他的事件处理函数.
$("p").click(function(event){

event.stopImmediatePropagation();

});

$("p").click(function(event){

// This function won't be executed

});
isImmediatePropagationStopped()
是否调用过
stopImmediatePropagation()
方法
$("p").click(function(event){

alert( event.isImmediatePropagationStopped() );

event.stopImmediatePropagation();

alert( event.isImmediatePropagationStopped() );

});


这些函数中  stopPropagation()  是我们最长用的也是一定会用到的函数. 相当于操作原始event对象的event.cancelBubble=true来取消冒泡.

___________________________________________________________________________

offset():获取匹配元素在当前视口的相对偏移。

返回的对象包含两个整形属性:top 和 left。此方法只对可见元素有效。

position():获取匹配元素相对父元素的偏移。
返回的对象包含两个整形属性:top 和 left。为精确计算结果,请在补白、边框和填充

posted @ 2012-05-26 10:49  吕冰  阅读(294)  评论(0编辑  收藏  举报