2011-05-20 117 views
2

我在使對話框上的關閉按鈕工作時遇到了一些麻煩。我遵循了我發現的一個例子,但我的關卡不會關閉。我究竟做錯了什麼?jQuery UI對話框關閉按鈕不起作用

$(function() { 
    $('#message').dialog({ 
     autoOpen: false, 
     bgiframe: true, 
     modal: true, 
     buttons: { 
      'Okay': function() { 
       document.location = 
        'http://www.google.com'; 
        }, 
      'Cancel': function() { 
      ('#message').dialog('close'); 
     } 
     } 
    }); 

    $('button').click(function() { 
     $('#message').dialog('open'); 
    }); 
}); 

jsFiddle

回答

4

你忘了$。它是

$('#message').dialog('close'); 

我推薦使用開發人員工具,如Firebug。它將在控制檯中顯示詳細的錯誤消息。

4

更換

('#message').dialog('close'); 

使用:

$(this).dialog('close') 
+0

我已將它更改爲此,但它似乎仍不起作用。我已經添加了一個jsFiddle到我原來的帖子。 – Vecta 2011-05-20 16:48:37

+0

你是對的!我不知道爲什麼......但是如果你刪除了這行: $('button')。click(function(){0}'('#message')。dialog('open'); and make the對話框autoOpen:true ...然後關閉按鈕的工作!也許有一些在按鈕腳本,使js無效... – 2GDev 2011-05-20 17:50:27

+0

感謝您再次檢查,但這是一個相當粗心的錯誤,我沒有' t爲我的按鈕分配一個ID,所以每次點擊「取消」按鈕時,都會嘗試再次打開對話框! – Vecta 2011-05-20 18:30:45

2

這行:

'取消':函數(){ ( '#message')對話框( '關閉' ); }

將其更改爲:

'取消':函數(){$(本).dialog( '關閉'); }

1

由於我的點擊事件是指一個常規按鈕,點擊取消按鈕基本上打開了對話框。我給了這個按鈕一個id並引用了它。