2014-10-18 80 views
1

我试图让警报框显示元素名称(这里是html)(显然没有硬编码),触发事件onclick按下ctrl。显示在javascript中触发鼠标事件的元素名称

<!DOCTYPE html> 
<html onclick="alertD(event)"> 
<head> 
<title> 
</title> 
</head> 
<body> 

<!--<p>click anywhere on the page to display alert dialog</p>--> 



<script type="text/javascript"> 

function alertD(event) 
{ 
    if (event.shiftKey) 
    { 
     alert(event); 
    } 
    else if(event.ctrlKey) 
    { 
     alert("html"); //-- this is where it would say something like alert(document.element)??? 
    } 
    else 
    { 
     alert(); 
    } 
} 
+1

看看'event.target' - [事件目标(http://www.w3schools.com/jsref/event_target.asp) – haxtbh 2014-10-18 16:41:01

+0

@George这不是重复。这指的是查看对象的构造函数,同时询问如何获取目标元素。 – cpburnz 2014-10-18 17:04:28

回答

2

您可以使用事件的target属性来获取元素。然后使用元素的tagName属性获取该元素的名称。

function alertD(event) 
{ 
    if (event.shiftKey) 
    { 
     alert(event); 
    } 
    else if(event.ctrlKey) 
    { 
     alert(event.target.tagName); // <-- tag name 
    } 
    else 
    { 
     alert(); 
    } 
}