2013-05-21 51 views
1

我很難創建一個按鈕,如果我想繼續打開URL鏈接,它將彈出一個對話框'確認'。然而,當我點擊按鈕「谷歌」,它會自動將我引導到谷歌網站,甚至在我點擊「OK」進行查看之前,我不知道我在做什麼錯誤。jQuery對話框按鈕在打開URL之前確認

HTML:

<button class="open" onclick="window.open('http://google.com')">Google</button> 

<div class="unique">Are you sure you want to continue?</div> 

JS:

$(function() { 
    $('.open').on("click", function(e) { 
     var link = this; 

     e.preventDefault(); 

     $('.unique').dialog({ 
      buttons: { 
       "Ok": function() { 
        window.location = link.href; 
       }, 
       "Cancel": function() { 
        $(this).dialog("close"); 
       } 
      } 
     }); 
    }); 
}); 

CSS:

.unique {display: none;} 

謝謝您的高級!

回答

0

<button class="open">Google</button>

<button>刪除onclick事件。

此外,您只是創建jQueryUI對話框。你需要真正需要打開它。我建議看看這個小部件的jQueryUI文檔。

+0

謝謝。我刪除了onClick並更改了window.location = link.href;到window.open(「http://www.google.com」);它工作正常;但是,通過指定「google.com」,我無法爲新網址創建按鈕。任何方式在這個? – user1652920

0

問題是你在調用window.open函數內聯。

把它放在一個叫做doGoogle或者其他東西的函數中。然後將doGoogle函數放在ok函數調用中。只要存在DIV像你這樣有

賈德森

+0

謝謝。我刪除了onClick並更改了window.location = link.href;到window.open(「http://www.google.com」);它工作正常;但是,通過指定「google.com」,我無法爲新網址創建按鈕。任何方式在這個? – user1652920

+0

是的,你需要傳遞變量到window.open,所以當你調用你的對話框函數設置一個變量,如URL =「google.com」,然後在按鈕中引用它作爲window.open(URL) –

0

我用另一種方法是換我.dialog在這樣的ShowDialog(URL)的函數

.dialog將inialize對話開幕

這種方式可以將URL傳遞到按鈕

所以,你會調用它:的onclick = 「的ShowDialog(」 google.com「)

那麼你的按鈕將有

window.location.href =網址

希望這有助於。