如何弄清楚点击了什么?

时间:2009-02-19 06:03:12

标签: javascript jquery

在jquery中,我怎样才能找出点击的对象?

有没有办法提醒(...)标签的类型?比如它是<a href>还是<img>等?

5 个答案:

答案 0 :(得分:3)

单击的对象将作为this传递到单击处理程序。您可以使用nodeName找出元素的类型。像这样:

function handle_click() {
   var clicked_element = this;
   alert(clicked_element.nodeName);
}
$("#mylink").click(handle_click);

答案 1 :(得分:2)

Magnar's answer是正确的,只要您想知道处理事件的类型(您将事件附加到的内容)。如果您想确切地知道单击了哪个元素,包括元素的子元素,则需要event.target属性。使用Magnar的例子:

// show the type of the element that event handler was bound to
function handle_click() {
    var clicked_element = this;
    alert(clicked_element.nodeName);
}

// show the type of the exact element that was clicked, which may be a child
// of the bound element
function handle_child_click(e) {
    var clicked_element = e.target;
    alert(clicked_element.nodeName);
}

// show the type of the element that matches "#myLink"
$("#mylink").click(handle_click);

// show the type of the element that matches "#myLink" or any of its children
$("#mylink").click(handle_child_click);

答案 2 :(得分:0)

查看jquery docs site

具体来说,Click事件

答案 3 :(得分:0)

可以通过onclick事件来提醒属性

<p id='pWoo' onclick='alert(this.id);'>Woo</p>

不是特定于jquery。

答案 4 :(得分:0)

可能不是你想要的,但我发现本教程很有趣:http://css-tricks.com/tracking-clicks-building-a-clickmap-with-php-and-jquery/