我有一個jQuery
函數,可在點擊時觸發警報彈出窗口。當OK按鈕被擊中時,我需要另一個事件來觸發。在這種情況下,用戶同意某些事情,我需要將一個變量存儲到他們同意的localstorage中。我當前的警報代碼:帶有單擊警告「確定」按鈕的jQuery事件
$('.external').click(function() { alert("You are now leaving site"); });
我有一個jQuery
函數,可在點擊時觸發警報彈出窗口。當OK按鈕被擊中時,我需要另一個事件來觸發。在這種情況下,用戶同意某些事情,我需要將一個變量存儲到他們同意的localstorage中。我當前的警報代碼:帶有單擊警告「確定」按鈕的jQuery事件
$('.external').click(function() { alert("You are now leaving site"); });
您正在尋找confirm()
。試試這個:
$('.external').click(function (e) {
var r = confirm("You are now leaving site");
if (r == true) {
// user agreed, do something
} else {
// user did not agree, do something else
}
e.preventDefault();
});
編輯1:
按@JohnCarpenter,關於localStorage
:Storing Objects in HTML5 localStorage
編輯2:
要在確認頁面重定向,使用的東西像這樣:
window.location.replace("http://domain.com");
你也可以得到花哨jQuery和從原來的錨的href
屬性動態獲取網址:
window.location.replace($(this).prop('href'));
也請參閱有關this postwindow.location.replace
。有可能window.location.href
會更適合您的需求。
好的答案,對於本地存儲部分的問題, [這個堆棧溢出鏈接](http://stackoverflow.com/questions/2010892/storing-objects-in-html5-localstorage)是一個很好的。 –
@Stuart很好的答案。使用confirm()時,如果用戶選擇取消,不遵循鏈接的正確方法是什麼? – Sam
@Sam在'click'調用事件對象('e')內傳遞閉包時,添加'e.preventDefault();'將阻止瀏覽器導航到鏈接的默認行爲。我已經更新了我的答案以反映這一點。 –
使用確認框:https://developer.mozilla.org/en-US/docs/Web/API/Window/confirm –
我建議你應該爲第一個警報創建一個模態然後點擊OK ,顯示窗口警報。 – Sajal
至於localstorage部分的問題,請查看[this](http://stackoverflow.com/questions/2010892/storing-objects-in-html5-localstorage)出 –