首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >如何通过鼠标获取DOM或jQuery元素?

如何通过鼠标获取DOM或jQuery元素?
EN

Stack Overflow用户
提问于 2011-03-30 20:37:02
回答 3查看 4.1K关注 0票数 2

如何通过鼠标点击获取DOM或jQuery元素?例如,我有下面的代码:

代码语言:javascript
运行
复制
$("*").mouseup(
 function() 
 {
    var clickedElement = ???????????????
 }
);

那么,如何初始化'clickedElement‘变量呢?谢谢。

EN

回答 3

Stack Overflow用户

发布于 2011-03-30 20:39:19

在事件处理程序中,this引用在其上引发事件的DOM元素。

代码语言:javascript
运行
复制
$("*").mouseup(function() {
    var clickedElement = this;
});

要获取jQuery元素,只需将this传递给jQuery即可。

:使用事件委托要好得多,而不是将事件处理程序绑定到每个元素。您可以使用获取事件的来源

代码语言:javascript
运行
复制
$(document).mouseup(function(event) {
    var clickedElement = event.target;
});

和进一步的注意事项:这不一定会给出被单击的元素,但会给出释放鼠标按钮的元素,该元素可以与按下按钮的元素不同。您可能希望绑定到click事件。

我也向read a jQuery tutorial where these basics are covered建议。

票数 9
EN

Stack Overflow用户

发布于 2011-03-30 20:40:43

如果您不想将事件附加到每个DOM元素(我不推荐这样做)...

代码语言:javascript
运行
复制
$(document).mouseup(function(event) {
   var clickedElement = event.target;
});

jsFiddle

在这里,任何元素的事件都会一直冒泡到document,在那里它将被处理,启动事件的原始元素将在event.target中。

票数 4
EN

Stack Overflow用户

发布于 2011-03-30 20:39:33

使用。即:

代码语言:javascript
运行
复制
$("*").mouseup(  function()   {     
    var clickedElement = this; //HTML DOM Element
    var $clickedElement = $(this); //jQuery Wrapped HTML DOM Element
} ); 
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/5486343

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档