Отменить предупреждение и подтвердить в Javascript
Есть ли способ переопределить alert("")
и confirm("")
в javascript?
Я использую jQuery, поэтому, если есть способ сделать это в этой области, я был бы признателен.
Я хотел бы делать такие вещи, как:
override alert(msg){
//Show custom stuff here
}
override confirm(msg){
//Show custom stuff here.
return watever;
}
Ответы
Ответ 1
Да и нет. Вы можете просто заменить их:
window.alert = function(msg){
// stuff
}
но вы не получите функциональность блокировки, которую предупреждают и подтверждают, давайте вам, то есть не будет никакого способа заставить этот код работать:
if(confirm('Do Something?')){
// do stuff
}
Вам обычно лучше делать другие функции, чтобы делать подобные вещи, чем вы пытаетесь их заменить.
Ответ 2
Просто переопределите его:
window.alert = function(msg) { console.log(msg); }
Ответ 3
Просто определите функцию с именем alert
или confirm
.
function alert(){}; function confirm(){};
Однако, если вам нужна ссылка на исходные функции, вы должны сохранить ссылки на них, назначив var oldAlert
или просто определите alert
внутри другой функции, поэтому window.alert
остается нетронутым.
(function() {
function alert(){}; // alert inside of this scope is your custom function
})();