问题描述
如何通过鼠标单击获取DOM或jQuery元素? 例如,我有下一个代码:
$("*").mouseup(
function()
{
var clickedElement = ???????????????
}
);
那么,如何初始化'clickedElement'变量? 谢谢。
1楼
Felix Kling
8
2011-03-30 12:39:19
在事件处理程序内部, this指的是引发事件的DOM元素。
$("*").mouseup(function() {
var clickedElement = this;
});
为了得到一个jQuery的元素,只是通过this来jQuery 。
但是 :使用事件委托 会更好 ,而不是将事件处理程序绑定到每个元素 。 您可以使用获取事件的来源:
$(document).mouseup(function(event) {
var clickedElement = event.target;
});
还有一点需要注意:这不一定会给你点击的元素,而是释放鼠标按钮的元素,这可能与按下按钮的元素不同。
您可能希望绑定到click事件。
我还建议 。
2楼
alex
4
2011-03-30 12:40:43
如果你不想将事件附加到每个DOM元素(我不建议)...
$(document).mouseup(function(event) {
var clickedElement = event.target;
});
。
在这里,任何元素的事件将一直冒泡到document ,它将被处理,并且启动事件的原始元素将在event.target 。
3楼
Chandu
2
2011-03-30 12:39:33
用这个 。 即:
$("*").mouseup( function() {
var clickedElement = this; //HTML DOM Element
var $clickedElement = $(this); //jQuery Wrapped HTML DOM Element
} );