“无法获取未定义或空引用的属性'getData'”在IE中,但不能在Chrome中获取

"Unable to get property 'getData' of undefined or null reference" in IE but not Chrome

本文关键字:获取 IE Chrome 但不能 getData 引用 属性 未定义      更新时间:2023-09-26

感谢另一位成员的帮助,我成功地实现了一个JS方法,该方法能够粘贴Excel数据并将其拆分为HTML文本框表格形式(请参阅线程)。

我现在面临的问题是,这仅在Chrome中起作用,而IE10和IE11都标记以下错误:

"无法获取未定义或空引用的属性'getData'。"

此错误在函数的第二行(如下)中引发:

function (event) {
    var input_id = $(this).attr("id");
    var value = event.originalEvent.clipboardData.getData('text/plain'); //ERROR in IE
    /* ... */
    event.preventDefault(); // prevent the original paste
}

想知道是否有人可以看到为什么Chrome满意而IE不满意的问题。

答案在这里找到:在 Javascript 中拦截粘贴事件

这对我有用。

if (window.clipboardData && window.clipboardData.getData) { // IE
    pastedText = window.clipboardData.getData('Text');
}
else if (event.originalEvent.clipboardData && event.originalEvent.clipboardData.getData) { // other browsers
    pastedText = event.originalEvent.clipboardData.getData('text/plain');
}

在IE中,它应该是:

var value = event.originalEvent.clipboardData.getData("Text");