2012-03-10 60 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的引用添加到您正在使用的頁面中。

相關問題