使用Javascript检测类的onclick

时间:2012-07-15 04:35:28

标签: javascript

我正在为一些元素动态添加一个类。我需要获取所添加的类所在的clicked元素的innerHTML。任何人都可以知道如何通过引用类来获取innerhtml吗?

请注意,我不想使用像jQuery这样的任何Javascript库。

1 个答案:

答案 0 :(得分:2)

试试这个:

document.body.onclick = function(e) {
    var clickedEl = window.event ? event.srcElement : e.target;
    while (clickedEl != null) {
        if (clickedEl.className
            && (" " + clickedEl.className + " ").indexOf(" yourclass ") != -1) {
            // do something, e.g.,
            alert("Element with class was clicked");
            return;
        }
        clickedEl = clickedEl.parentNode;
    }
}​

演示:http://jsfiddle.net/3qChA/

当点击任何带有“yourclass”类的元素,或点击带有“yourclass”的元素的任何后代元素时,这将执行“某事”(在我的示例中显示警告)。显然,您可以根据需要用变量替换硬编码的“yourclass”。