热门通过鼠标获取DOM或jQuery元素?

时间:2011-03-30 12:37:02

标签: javascript jquery mouseclick-event

如何通过鼠标单击获取DOM或jQuery元素? 例如,我有下一个代码:

$("*").mouseup(
 function() 
 {
    var clickedElement = ???????????????
 }
);

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

3 个答案:

答案 0 :(得分:8)

在事件处理程序中,this指的是引发事件的DOM元素。

$("*").mouseup(function() {
    var clickedElement = this;
});

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

但是:使用事件委派更好,而不是将事件处理程序绑定到每个元素。您可以使用event.target获取活动的来源:

$(document).mouseup(function(event) {
    var clickedElement = event.target;
});

还有一个注意事项:这不一定会给你点击的元素,而是释放鼠标按钮的元素,这可能与按下按钮的元素不同。您可能希望绑定到click事件。


我还建议read a jQuery tutorial where these basics are covered

答案 1 :(得分:4)

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

$(document).mouseup(function(event) {
   var clickedElement = event.target;
});

jsFiddle

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

答案 2 :(得分:2)

使用。即:

$("*").mouseup(  function()   {     
    var clickedElement = this; //HTML DOM Element
    var $clickedElement = $(this); //jQuery Wrapped HTML DOM Element
} );