如何通过鼠标单击获取DOM或jQuery元素? 例如,我有下一个代码:
$("*").mouseup(
function()
{
var clickedElement = ???????????????
}
);
那么,如何初始化'clickedElement'变量? 谢谢。
答案 0 :(得分:8)
在事件处理程序中,this
指的是引发事件的DOM元素。
$("*").mouseup(function() {
var clickedElement = this;
});
要获取jQuery元素,只需将this
传递给jQuery
。
但是:使用事件委派将更好,而不是将事件处理程序绑定到每个元素。您可以使用event.target
获取活动的来源:
$(document).mouseup(function(event) {
var clickedElement = event.target;
});
还有一个注意事项:这不一定会给你点击的元素,而是释放鼠标按钮的元素,这可能与按下按钮的元素不同。您可能希望绑定到click
事件。
答案 1 :(得分:4)
如果您不想将事件附加到每个DOM元素(我不建议这样做)......
$(document).mouseup(function(event) {
var clickedElement = event.target;
});
在这里,任何元素的事件都会一直冒泡到document
,它将被处理,启动事件的原始元素将在event.target
。
答案 2 :(得分:2)
使用此。即:
$("*").mouseup( function() {
var clickedElement = this; //HTML DOM Element
var $clickedElement = $(this); //jQuery Wrapped HTML DOM Element
} );