2012-03-10 59 views
8

我有我的asp.net mvc的内部下面的脚本: -微软JScript运行时错误:无法获取属性“默认视图”的值:对象为空或未定义

function deleteconfirmation() { 

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

} 

但是当它被执行时将返回以下错误“Microsoft JScript运行时错误:无法获取jquery-1.6.2.min.js中if(!(e=a.ownerDocument.defaultView))上属性'defaultView'的值:对象为null或undefined”。 提示: - 这个错误只会发生,如果我使用IE浏览器,它不会发生,如果我使用铬或Firefox! 那么可能是什么原因造成的? BR

+0

IE版本是什么版本? – 2012-04-27 15:56:39

回答

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

我想你已经忘了添加jQuery库的引用。请检查并添加到jQuery Reference

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

相关问题