Internet Explorer 8中的event.srcElement为null

时间:2012-12-07 08:20:02

标签: javascript internet-explorer javascript-events

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

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

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

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

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

2 个答案:

答案 0 :(得分:-1)

不要使用event,只需将点击的元素传递给javascript函数。

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

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

<script>
    function func(elem) {
        alert(elem.className);
    }
</script>

答案 1 :(得分:-2)

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

在jQuery中你可以这样做:

$(selector).click(function(event){
    console.log(event.target.className);
    console.log(event.target.classList);
});