jquery怎么获取触发点击 事件的元素

jquery怎么获取触发点击 事件的元素,第1张

你把当前的jquery对象传入进去就可以用了,例如:

<script src=">

创建滚动条监听事件

$(window)scroll(function(e){

        //滚动距离

        $(window)scrollTop();

});

滚动距离 到达 div的距离时,触发事件

在180版本之前,我们要想获取某个DOM绑定的事件处理程序可以这样:

$data(domObj,'events');//或者$('selector')data('events')

而从180版本开始,jQuery突然不支持这样使用了,而是改到了一个叫'_data'的函数功能上了,即,180及以后的版本你可以这么用:

$_data(domObj,'events');//注意,这里不能像$('selector')_data('events')这样用了。

要想写出兼容兼容各个jQuery版本的方式,这样获取即可:

var eventsData = $data(domObj,'events') || $_data(domObj,'events');//这个改变在easyui 131的源码中也有体 

ps:

1接受的domObj节点必须为dom节点对象,不能为jquery对象,如果是获取的jquery对象,要用get(0)或者[0]转为dom对象

2只能获取到使用jquery方法绑定的参数 on ,live 等。如果是直接写到元素上的事件是不能获取的,使用其他非jquery设置的事件也是无法获取的

$(document)bind('mousewheel', function(event, delta) { return false; });

绑定滚轮事件,然后返回false就可以。

return true;可以恢复。

根据实际情况运用即可。

本文实例讲述了jQuery实现获取绑定自定义事件元素的方法。分享给大家供大家参考,具体如下:

(function

($)

{

//

自定义itemtab事件

$fnbind

=

function(types,

data,

fn)

{

//

重载jQueryfnbind方法,用来截获绑定自定义事件的元素

if(typeof

types

==

'string'

&&

'itemtab'

==

types)

{

var

itemTouchStart

=

-1;

//

touchstart位置

var

itemTouchMove

=

-1;

//

touchend位置,值为-1时表示未触发

var

itemTriggerDistance

=

0;

//

拖动距离阀值,若大于该值则为拖动列表,若小于等于该值则为点击列表项

var

itemMoved

=

false;

//

列表是否为拖动状态

$(this)bind('touchstart',

function

(event)

{

if(!eventoriginalEventtoucheslength)

return

true;

itemMoved

=

false;

itemTouchStart

=

eventoriginalEventtouches[0]pageX;

//

记录起始位置

})bind('touchmove',

function

(event)

{

if(!eventoriginalEventtoucheslength)

return

true;

itemTouchMove

=

eventoriginalEventtouches[0]pageX;

//

当前拖动位置

//consolelog('touchmove:',

itemTouchStart,

itemTouchMove,

itemMoved);

if(Mathabs(itemTouchMove

-

itemTouchStart)

>

itemTriggerDistance)

{

itemMoved

=

true;

//

列表被拖动

}

})bind('touchend',

function

(event)

{

//consolelog('itemMoved:',

itemMoved);

if(itemMoved)

{

//

列表被拖动过,非点击 *** 作

return

true;

}

$(this)trigger('itemtab');

//

触发自定义事件

});

}

return

thison(

types,

null,

data,

fn

);

//

这种做法具有侵入性,多个类似的代码会相互覆盖,可采用深度复制方式调用原$fnbind方法

}

})(jQuery);

希望本文所述对大家jQuery程序设计有所帮助。

一、绑定事件方式 —— bind()、live()、delegate()、on()

bind():匹配已有元素添加一个或多个事件处理器

$(selector)bind(event,data,function)

event:必需项;添加到元素的一个或多个事件,例如 click,dblclick等;

单事件处理:例如 $("btn-test")bind("click",data,function(){});

多事件处理:1利用空格分隔多事件,例如 $("btn-test")bind("click dbclick mouseout",data,function(){});

2利用大括号灵活定义多事件,例如 $("btn-test")bind({"mouseout":function(){}, "click":function(){}, }) 

3空格相隔方式:绑定较为死板,不能给事件单独绑定函数,适合处理多个事件调用同一函数情况;

 大括号替代方式:绑定较为灵活,可以给事件单独绑定函数; 

data:可选;需要传递的参数;

function:必需;当绑定事件发生时,需要执行的函数;

$("btn-test")unbind("click"); (删除事件)

 live() —— 向当前或未来的匹配元素添加一个或多个事件处理器;

$(selector)live(event,data,function)

event:必需项;添加到元素的一个或多个事件,例如 click,dblclick等;

单事件处理:例如 $("btn-test")live("click",data,function(){});

多事件处理:1利用空格分隔多事件,例如 $("btn-test")live("click dbclick mouseout",data,function(){});

2利用大括号灵活定义多事件,例如 $("btn-test")live({"mouseout":function(){}, "click":function(){}, }) 

 3空格相隔方式:绑定较为死板,不能给事件单独绑定函数,适合处理多个事件调用同一函数情况;

大括号替代方式:绑定较为灵活,可以给事件单独绑定函数; 

data:可选;需要传递的参数;

function:必需;当绑定事件发生时,需要执行的函数;

$("btn-test")die("click");(删除事件)

delegate() —— 为指定的当前或未来元素(被选元素的子元素)添加一个或多个事件处理程序。

$(selector)delegate(childSelector,event,data,function)

childSelector: 必需项;需要添加事件处理程序的元素,一般为selector的子元素;

event:必需项;添加到元素的一个或多个事件,例如 click,dblclick等;

单事件处理:例如 $("header")delegate("#btn-test1","click",data,function(){});

多事件处理:1利用空格分隔多事件,例如 $("header")delegate("#btn-test1","click dbclick mouseout",data,function(){});

2利用大括号灵活定义多事件,例如 $("header")delegate("#btn-test1",{"mouseout":function(){}, "click":function(){}, }) 

3空格相隔方式:绑定较为死板,不能给事件单独绑定函数,适合处理多个事件调用同一函数情况;

大括号替代方式:绑定较为灵活,可以给事件单独绑定函数; 

data:可选;需要传递的参数;

function:必需;当绑定事件发生时,需要执行的函数;

on() —— 为指定的当前或未来元素(被选元素的子元素),添加一个或多个事件处理程序。

使用方式 

$(selector)on(event,childselector,data,function)

event:必需项;添加到元素的一个或多个事件,例如 click,dblclick等;

单事件处理:例如 $("header")on("click","btn-test",data,function(){});

多事件处理:1利用空格分隔多事件,例如 $("header")on("click dbclick mouseout","btn-test",data,function(){});

2利用大括号灵活定义多事件,例如 $("header")on({"mouseout":function(){}, "click":function(){}, },"btn-test"); 

3空格相隔方式:绑定较为死板,不能给事件单独绑定函数,适合处理多个事件调用同一函数情况;

大括号替代方式:绑定较为灵活,可以给事件单独绑定函数; 

childSelector: 可选;需要添加事件处理程序的元素,一般为selector的子元素;

data:可选;需要传递的参数;

function:必需;当绑定事件发生时,需要执行的函数;

$("header")off("click","btn-test");(删除事件)

都是在ITjob,上,学习的,希望能帮到你吧

以上就是关于jquery怎么获取触发点击 事件的元素全部的内容,包括:jquery怎么获取触发点击 事件的元素、当一个div运动到一定位置触发事件(用jquery和js都可以)怎么写、jquery 获取元素绑定了哪些事件等相关内容解答,如果想了解更多相关内容,可以关注我们,你们的支持是我们更新的动力!

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/web/9631467.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-30
下一篇 2023-04-30

发表评论

登录后才能评论

评论列表(0条)

保存