Microsoft JScript运行时错误:无法获取属性“defaultView”的值:object为null或undefined

时间:2012-03-10 15:25:40

标签: jquery asp.net-mvc-3

我的asp.net mvc中有以下脚本: -

function deleteconfirmation() {

    jAlert('The Answer was deleted succsfully', 'Deletion Confirmation');
    $(this).fadeOut('slow', function () { $(this).remove(); });

}

但是当它被执行时,它将返回以下错误“Microsoft JScript运行时错误:无法在jquery-1.6内的if(!(e=a.ownerDocument.defaultView))上获取属性'defaultView'的值:object is null或undefined”。 2.min.js. 提示: - 只有在使用IE时才会出现此错误,如果我使用的是chrome或firefox,则不会发生这种情况! 那可能是什么导致了这个? BR

2 个答案:

答案 0 :(得分:1)

错误是由$(this)未引用任何内容或window object引起的。这取决于你的函数的调用方式。最好将要使用的元素传递给函数deleteConfirmation(),如下所示:

$("#deleteAnswer").bind("click", function() {
    deleteConfirmation(this);
});

function deleteConfirmation(element) {
    jAlert('Deleted succsfully', 'Deletion Confirmation', function() {
        alert("The user clicked ok");

        // Hides the element that caused the click event
        $(element).fadeOut('slow', function () { $(element).remove(); });
    });
}

有关示例,请参阅此jsfiddle

如果您尝试fadeOut警告框本身,那么默认情况下就是这样,您可能已经知道了。

答案 1 :(得分:-1)

我想你忘了添加jQuery库的参考资料。请检查并添加到jQuery Reference

另一种可能性是忘记在您正在使用的页面中添加jAlert的参考。