Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Выполнение функции вместо alert() (https://javascript.ru/forum/misc/34237-vypolnenie-funkcii-vmesto-alert.html)

KupueIIIKo 25.12.2012 17:21

Выполнение функции вместо alert()
 
Как сделать чтоб вместо функции alert() выполнялась функция?
Хочу написать нестандартный alert();

ivan.pshenicyn 25.12.2012 17:24

написать функцию, например
function foo(){ alert("Это нестандартный alert!") }

и заменить alert() на foo()

P.S.
хотя, возможно, я изначально неверно понял Ваш вопрос. Возможно, Вам нужно это:
window.alert = function(message){
     console.log(message) //здесь выводите сообщение нестандартно)
}
alert("Нестандартный алерт")

KupueIIIKo 25.12.2012 17:30

Это просто! Мне нужно перехватывать именно alert!

Vampir3 25.12.2012 17:34

http://frype.com/
вот тут такое есть, правда не могу найти сам код
надеюсь, меня не накажут за ссыль?

KupueIIIKo 25.12.2012 17:34

window.alert=function(){}

А как получить текст alerta?

ivan.pshenicyn 25.12.2012 17:36

я же выше написал

Skipp 25.12.2012 17:36

function alert(text){
     prompt(text, "");
}
alert("text");


window._alert = window.alert;
window.alert = function(text){
     _alert(text + " и текст функции.");
}
alert("Мой текст");

godofjavascript 25.12.2012 17:43

ivan.pshenicyn,
зачем ты засрал бейкапным алертом глобальный обьект елси ни секрет?

ivan.pshenicyn 25.12.2012 17:48

ты действительно меня хотел спросить?

KupueIIIKo 25.12.2012 17:51

Написал то, что хотел на jqiery ui) юзайте)
window.alert=function(message){
	if($("#alert").length>0){
		// exists
		$('#alert').html(message);
		}
	else
		{
			var input_alert = $('<div>', {
				id: 'alert',
				text: message,
				style: 'display:none;',
			});
		}
	$('body').append(input_alert);
	$('#alert').dialog({
		height: 'auto',
		resizable: false,
		width: 'auto',
		zIndex: 530,
		close: function(event, ui) {
			$("#alert").dialog("destroy");
			$("#alert").html('');
		}
	});
};


Часовой пояс GMT +3, время: 06:54.