1

我不斷收到此錯誤,當我點擊我的JQuery對話框關閉按鈕(不關閉):JQuery的對話框初始化

未捕獲的錯誤:不能調用對話框的方法來初始化之前;嘗試在其他問題試圖在計算器上幾個建議的修復後,調用方法「關閉」在Chrome工具

任何人都可以指出我沒有正確構造對話框導致此錯誤嗎?

現場小提琴here

$(document).ready(function fooDialog() { 

    $('#fooChartDialog').dialog({ 
     autoOpen: false, 
     height: 600, 
     width: 1000, 
     resizable: false, 
     buttons: { 
      "Drill Down Report": function() { 
       window.open('example.com'); 
      }, 
      "Close": function() { 
       $(this).dialog("close"); 
      } 
     }, 
     open: function() { 
      $('#fooChartDialog').load($('#fooChartDialog').data('url'), function() { 
       fooChartLoad() 
      }); 
     }, 
     title: 'Customer Satisfaction Chart', 
     modal: true 
    }); 

    $('#fooChartButton').click(function() { 
     $('#fooChartDialog').dialog("open") 
    }); 
}); 
+1

你有模後'額外的逗號:成立,'' 「Close」:function(){('this')。dialog(「close」); },' – 2013-03-22 12:52:52

+0

謝謝,我刪除了逗號,但是當點擊對話框的關閉按鈕不關閉並拋出錯誤時,我仍然遇到問題。 – Alexander 2013-03-22 12:56:57

+0

@Alexander你甚至找到了解決這個問題的辦法嗎? – puddinman13 2015-08-03 17:18:56

回答

4

嘗試的$(this).dialog("close");代替$('this').dialog("close");

當前對象應$(this)不能引用由$('this')

+0

謝謝,我搞砸了,但我仍然得到錯誤。 – Alexander 2013-03-22 13:10:54

+0

@亞歷山大我無法看到小提琴中的任何錯誤。 David的解決方案能夠很好地工作。 – 2013-03-22 13:14:13

+1

同樣,我改變了$(this)的參考,它在小提琴中工作,但不是在我的本地,所以我相信我身邊存在更深層次的問題。謝謝你們倆。 – Alexander 2013-03-22 13:20:53