2011-03-04 94 views
0

有没有办法从jquery中正常的javascript捕获“alert()”框,以便当用户点击“OK”时,我可以触发一个函数?jquery捕获警报对话?

+0

警报阻止,所以你应该能够在线后做到这一点? – 2011-03-04 11:10:50

+0

我已经在下面回答你的问题,因为我觉得这是你想要的。如果答案不正确,你的问题应该更清楚。 – AlanFoster 2011-03-04 11:41:43

回答

0

我想出了一个更好的办法来做到这一点,这是通过更换称为报警功能中的函数来完成,我确定有一个更好的方法来存储以前的功能,但在这里;

<script> 
var stopAlerts = false, previousAlertCode; 
window.onload = function() { previousAlertCode = window.alert; } 
function changeAlertStatus(){ 
    stopAlerts = ! stopAlerts; 
    window.alert = (stopAlerts ? function(){ return false; } : previousAlertCode); 
} 
</script> 
<input type="button" value="testAlert" onclick='alert("test");' /> 
<input type="button" value="switch alerts" onclick='changeAlertStatus()' /> 

它也适用于ie8这是你想要的,我猜。 (基本上这意味着除非stopAlerts被设置为false,否则任何对alert()的调用都将返回false如果你想让alert在默认情况下关闭,那么在window.onload函数中调用changeAlertStatus()这个答案是isn “T使用jQuery的,但我想你可以用的document.ready,而不是在window.onload)添加它

(这也意味着,您可以创建自定义提醒过我想,用自己的接口)

0

我相信无论用户是否取消或点击提醒中的“确定”,它都会继续执行脚本。你可以写它结合了alert()和你自己的代码你自己的报警功能:

function myAlert(message){ 
    alert(message); 
    //your code here 
}