1

我们正在使用 asp.net 网络表单。服务器正在使用 onclick 事件生成输入元素(图像)。当点击发生时,我正在调用函数并将事件对象传递给它。

在该函数内部,我试图访问 event.srcElement.className 以获取导致事件的元素的类名。仅在 IE8 事件的 srcElement 为空。

这个问题的可能解决方案是什么。

如何在事件发生时调用的函数中获取导致单击事件的元素的类名?

选择的答案解决了我的问题,但没有回答问题!

4

2 回答 2

-1

而不是使用event,只需将单击的元素传递给javascript函数。

<input type="button" onclick="func(this)" value="Ok" class="myClass"/>

然后直接访问元素的样式类。

<script>
    function func(elem) {
        alert(elem.className);
    }
</script>
于 2012-12-07T08:44:34.840 回答
-2

您可以使用 jQuery 库来帮助解决跨浏览器问题。使用 jQuery,您可以使用 event.target 及其所有属性。问题在于各种浏览器之间的 DOM API 不一致。

在 jQuery 中,你可以这样做:

$(selector).click(function(event){
    console.log(event.target.className);
    console.log(event.target.classList);
});
于 2012-12-07T08:22:09.353 回答