如何通过鼠标点击获取DOM或jQuery元素?例如,我有下面的代码:
$("*").mouseup(
function()
{
var clickedElement = ???????????????
}
);
那么,如何初始化'clickedElement‘变量呢?谢谢。
发布于 2011-03-30 20:39:19
在事件处理程序中,this
引用在其上引发事件的DOM元素。
$("*").mouseup(function() {
var clickedElement = this;
});
要获取jQuery元素,只需将this
传递给jQuery
即可。
但:使用事件委托要好得多,而不是将事件处理程序绑定到每个元素。您可以使用获取事件的来源
$(document).mouseup(function(event) {
var clickedElement = event.target;
});
和进一步的注意事项:这不一定会给出被单击的元素,但会给出释放鼠标按钮的元素,该元素可以与按下按钮的元素不同。您可能希望绑定到click
事件。
我也向read a jQuery tutorial where these basics are covered建议。
发布于 2011-03-30 20:40:43
如果您不想将事件附加到每个DOM元素(我不推荐这样做)...
$(document).mouseup(function(event) {
var clickedElement = event.target;
});
jsFiddle。
在这里,任何元素的事件都会一直冒泡到document
,在那里它将被处理,启动事件的原始元素将在event.target
中。
发布于 2011-03-30 20:39:33
使用此。即:
$("*").mouseup( function() {
var clickedElement = this; //HTML DOM Element
var $clickedElement = $(this); //jQuery Wrapped HTML DOM Element
} );
https://stackoverflow.com/questions/5486343
复制相似问题