Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/466.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript Internet Explorer 8中的event.src元素为空_Javascript_Internet Explorer_Javascript Events - Fatal编程技术网

Javascript Internet Explorer 8中的event.src元素为空

Javascript Internet Explorer 8中的event.src元素为空,javascript,internet-explorer,javascript-events,Javascript,Internet Explorer,Javascript Events,我们正在使用asp.net webforms。 服务器正在使用onclick事件生成输入元素映像。 当单击发生时,我调用函数并将事件对象传递给它 在该函数中,我试图访问event.srcmelement.className以获取导致事件的元素的类名。 只有在IE8中,事件的src元素为null 这个问题的可能解决办法是什么 在事件发生时调用的函数中,如何获取导致单击事件的元素的类名 选择的答案解决了我的问题,但没有回答问题 您可以使用jQuery库,它有助于解决跨浏览器问题。使用jQuery可以

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

在该函数中,我试图访问event.srcmelement.className以获取导致事件的元素的类名。 只有在IE8中,事件的src元素为null

这个问题的可能解决办法是什么

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


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

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

在jQuery中,您可以这样做:

$(selector).click(function(event){
    console.log(event.target.className);
    console.log(event.target.classList);
});
不使用事件,只需将单击的元素传递给javascript函数

<input type="button" onclick="func(this)" value="Ok" class="myClass"/>
然后直接访问元素的样式类

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

由于某种原因,您确定srcelelement为null而不是event?例如,当事件发生时,没有正确地传递/处理事件对象?是的,我在IE8中对其进行了调试。事件对象在那里,但src元素为null。我使用事件对象计算鼠标光标位置的方式与jquery相同,因为内容是自动生成的,不能如此轻松地完成jquery的工作。我试图避免使用jquery来计算鼠标光标位置,因为内容是动态生成的,包括类名、onclick事件等。将来我将101%使用jquery来计算此类内容。在这种情况下,它不是那么简单,但在$document.ready中有一些额外的逻辑是可行的;和条件事件绑定。目前,我的解决方法是将生成的类名本身传递给被调用的函数,并忽略事件处理,因为我没有太多时间来完成这项工作。谢谢你的回答。jQuery可以而且会做你想做的一切,只是更好更快。我仍然不明白为什么会有人想使用原生domapi。它很糟糕,而且还会继续糟糕,因此直接使用它是不明智的,最好依赖JQueryTolly之类的库。忘记了这一点,我所做的是向函数调用添加额外的参数,并将元素动态生成的类名传递给该函数。谢谢你的回答。