Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/467.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.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 IE错误:';目标';是否为null或不是对象 document.onkeydown=函数(事件){ 变量标记名=event.target.tagName; if(标记名!=“输入”&&tagName!=“文本区域”&&&&!event.alt&&event.control){ if(event.ctrlKey&&event.keyCode==37){ 如果(_this.currentPage>1){ window.location.href=_this.baseUrl.replace(/%page%/i,_this.currentPage+1); } }else if(event.ctrlKey&&event.keyCode==39){ 如果(_this.currentPage_Javascript_Internet Explorer_Javascript Events - Fatal编程技术网

Javascript IE错误:';目标';是否为null或不是对象 document.onkeydown=函数(事件){ 变量标记名=event.target.tagName; if(标记名!=“输入”&&tagName!=“文本区域”&&&&!event.alt&&event.control){ if(event.ctrlKey&&event.keyCode==37){ 如果(_this.currentPage>1){ window.location.href=_this.baseUrl.replace(/%page%/i,_this.currentPage+1); } }else if(event.ctrlKey&&event.keyCode==39){ 如果(_this.currentPage

Javascript IE错误:';目标';是否为null或不是对象 document.onkeydown=函数(事件){ 变量标记名=event.target.tagName; if(标记名!=“输入”&&tagName!=“文本区域”&&&&!event.alt&&event.control){ if(event.ctrlKey&&event.keyCode==37){ 如果(_this.currentPage>1){ window.location.href=_this.baseUrl.replace(/%page%/i,_this.currentPage+1); } }else if(event.ctrlKey&&event.keyCode==39){ 如果(_this.currentPage,javascript,internet-explorer,javascript-events,Javascript,Internet Explorer,Javascript Events,这只在IE 8中给了我一个错误: “目标”为空或不是对象 对于该行var tagName=event.target.tagName 如何解决这个问题。按下Ctrl或arrows按钮时出错。IE不会将事件对象传递到事件处理程序中。相反,它们使用窗口对象的全局事件属性。因此,对于IE,您应该使用window.event 通常的做法是先测试提供的参数。您还必须考虑IE使用srcElement而不是target这一事实。要解释所有这些,请使用类似的方法: document.onkeydown = fun

这只在IE 8中给了我一个错误:

“目标”为空或不是对象

对于该行
var tagName=event.target.tagName


如何解决这个问题。按下Ctrl或arrows按钮时出错。

IE不会将
事件
对象传递到事件处理程序中。相反,它们使用
窗口
对象的全局
事件
属性。因此,对于IE,您应该使用
window.event

通常的做法是先测试提供的参数。您还必须考虑IE使用
srcElement
而不是
target
这一事实。要解释所有这些,请使用类似的方法:

document.onkeydown = function(event) {
    var tagName = event.target.tagName;
    if (tagName != 'INPUT' && tagName != 'TEXTAREA' && !event.alt && event.control) {

        if (event.ctrlKey && event.keyCode == 37) {
            if (_this.currentPage > 1) {
                window.location.href = _this.baseUrl.replace(/%page%/i, _this.currentPage + 1);
            }
        } else if (event.ctrlKey && event.keyCode == 39) {
            if (_this.currentPage < _this.pagesTotal) {
                window.location.href = _this.baseUrl.replace(/%page%/i, _this.currentPage - 1);
            }
        }
    }
}
这应该可以达到目的。

这样做:

document.onkeydown = function(event) {
    event = event || window.event;
    var tagName = (event.target || event.srcElement).tagName;
    // Keep up the good work...
}

事件。目标
在IE8中不存在。欢迎使用IE的旧事件系统。请给出一个如何修复的示例。使用第三方事件API可以解决跨浏览器不兼容的问题。这是我的建议。是的,但我对Javascript一窍不通。我需要一个改变的例子。有一秒钟,它看起来像是直接复制/粘贴。为什么要删除
toUpperCase
?你知道我以前试过。这对我没有帮助。然后在下一行
var tagName=event.target.tagName上给出相同的错误@user1689607-我只是不认为人们应该仍然使用怪癖模式。我绝对希望OP使用的是正确的
doctype
。AFAIK,在标准模式下,IE将返回大写的元素名称。有人纠正我,如果我错了。有几个边缘案件的IE(我不记得哪个版本)。谢谢!下面的附加答案解决了这个问题。同样的,它在下一行给出了相同的错误
var tagName=event.target.tagName.toUpperCase()
event = event || window.event;
var tagName = (event.target || event.srcElement).tagName.toUpperCase();