2012-01-11 97 views
17

我需要一個JavaScript'確定'/'取消'警告一旦我點擊一個鏈接。javascript彈出警告鏈接點擊

我有報警代碼:

<script type="text/javascript"> 
<!-- 
var answer = confirm ("Please click on OK to continue.") 
if (!answer) 
window.location="http://www.continue.com" 
// --> 
</script> 

但我怎麼做起來很點擊某個鏈接時,這隻奔跑?

回答

10

只是令其功能,

<script type="text/javascript"> 
function AlertIt() { 
var answer = confirm ("Please click on OK to continue.") 
if (answer) 
window.location="http://www.continue.com"; 
} 
</script> 

<a href="javascript:AlertIt();">click me</a> 
+1

感謝,如果我點擊取消儘管它仍然打開鏈接/ – user1022585 2012-01-11 03:13:44

+0

@ user1022585您需要返回false來停止鏈接導航。看到我的回答下面 - 確認'方法返回一個'布爾',你可以退出你的功能... – xandercoded 2012-01-11 03:18:38

+0

對不起,我複製你的代碼,並且你的代碼是錯誤的。如果用戶說「好」,答案將設置爲「真」,因此我們不需要「!」,我改變了它。 – ocanal 2012-01-11 03:21:57

3

爲了做到這一點,你需要將處理程序附加到頁面上的特定錨。對於像這樣的操作,使用標準框架如jQuery要容易得多。例如,如果我有以下HTML

HTML:

<a id="theLink">Click Me</a> 

我可以使用下面的jQuery來裝一個事件的具體環節。

// Use ready to ensure document is loaded before running javascript 
$(document).ready(function() { 

    // The '#theLink' portion is a selector which matches a DOM element 
    // with the id 'theLink' and .click registers a call back for the 
    // element being clicked on 
    $('#theLink').click(function (event) { 

    // This stops the link from actually being followed which is the 
    // default action 
    event.preventDefault(); 

    var answer confirm("Please click OK to continue"); 
    if (!answer) { 
     window.location="http://www.continue.com" 
    } 
    }); 

}); 
25

可以使用onclick屬性,只是return false如果你不想繼續;

<script type="text/javascript"> 
function confirm_alert(node) { 
    return confirm("Please click on OK to continue."); 
} 
</script> 
<a href="http://www.google.com" onclick="return confirm_alert(this);">Click Me</a> 
+0

這實際上工作得更好 - 應該接受的更一般的解決方案。 – 2014-02-01 10:57:39

11

單線工作得很好:

<a href="http://example.com/" 
onclick="return confirm('Please click on OK to continue.');">click me</a> 

添加另一條線與同一頁面上的其他鏈接工作太細:

<a href="http://stackoverflow.com/" 
onclick="return confirm('Click on another OK to continue.');">another link</a> 
0
function alert() { 
    var answer = confirm ("Please click on OK to continue.") ; 

    if(answer){ 
     window.location="url"; 
    } 
} 
+1

爲了提高響應質量(這樣做,不被標記),你可以解釋他的代碼爲什麼不起作用。有時候,單詞有助於編碼。 – 2015-09-10 19:58:03