2
我有一個javascript確認對話框彈出,但是當我點擊'取消'時,然後在對話框關閉後點擊屏幕上的任何地方,對話框再次彈出。它只發生一次額外的時間,然後你可以再次點擊頁面而不彈出對話框。iPhone Javascript確認對話框錯誤
我只在運行iOS 5.0.1的iPhone/iPad上看到這一點。我沒有iOS 6設備,所以我不確定它在那裏發生。
下面是我使用的代碼:
$(bpm.remoteAppDivName).on('tap', 'a.delete-pending-payment', function(event) {
if (isJQMGhostClick(event)) { return false; }
var deleteGlobalPaymentURL = $(this).attr('href');
var confirmMsg = confirm ("Are you sure you want to do that?");
if (confirmMsg === true){
window.location = '/index.htm';
}
event.preventDefault();
return false;
});
var lastclickpoint, curclickpoint;
var isJQMGhostClick = function(event){
curclickpoint = event.clientX+'x'+event.clientY;
var ret=false;
if (lastclickpoint === curclickpoint) {
ret=true;
} else {
ret=false;
}
lastclickpoint = curclickpoint;
return ret;
}
這裏的問題頁面的鏈接:http://www.5280skateparks.com/dev/confirmBug.htm
任何幫助將非常感激。
更新:我剛剛證實它也發生在iOS 6.0.1上。
感謝您的快速響應。我會在星期一上午首先嚐試一下你的解決方案並回報。週末愉快。 – haddnin
我實施了您的解決方案,並且遇到同樣的問題。我想知道這是否確實是上面提到的「鬼點擊」,或者我錯誤地實現了它。 您可以在此處看到問題仍然存在:http://www.5280skateparks.com/dev/confirmBug.htm 我編輯了原始帖子以包含您的建議解決方案。 – haddnin
你可以嘗試'返回false'而不是在鬼點擊檢查中返回,並在preventDefault後添加一個返回false? –