我正在开发一个用例,一旦用户选中/取消选中复选框,就需要采取一些操作。
实施例:
功能代码段:
<script>
function toggleAgreement(event) {
if(event.target == 'some pre-defined ID') {
//do action;
}
</script>
问题:
此功能在Firefox / Chrome中运行良好,即使在IE9中也能正常工作。就在IE-7/8中,它不起作用。
在观察IE脚本控制台时,这些错误显示在 - &gt; bodyOnload(不是当我触发此特定复选框时)。
“对象不支持属性或方法'querySelectorAll'” iframe.html,第x行y
点击此链接后,我会看到:
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">
<HTML><HEAD>
<META content="text/html; charset=utf-8" http-equiv=Content-Type></HEAD>
<BODY></BODY></HTML>
我研究并发现应该使用的Jquery的方式是:
"document.querySelectorAll('.className')"
问题是,即使IE9中存在此问题,为什么不抛出上述错误?
答案 0 :(得分:1)
event.target与IE不兼容。试试这个(它是跨浏览器兼容的):
<script>
function toggleAgreement(event) {
var evt = e || window.event; // this assigns evt with the event object
var current = evt.target || evt.srcElement; // this assigns current with the event target
if(current == 'some pre-defined ID') {
//do action;
}
}
</script>
答案 1 :(得分:0)