Собственно хочу реализовать свой alert(), но сохранив его поведение. Чтобы выполнение сценария не продолжалось пока пользователь не нажмет кнопку.
Например:
var a = 3;
var myalert = function(b){
/* Добавляем элемент на страницу с кнопкой.
На кнопку вешаем событие click с кодом:
a = b; и удалением элемента*/
};
console.log(a);
myalert(5);
console.log(a);
myalert(6);
console.log(a);
В логе должно появиться 3 5 6, а не 3 3 3.
Спасибо.
UDP 1:
Этот код исключительно для примера, реальный сложнее. Видимо вы меня не поняли, попробуем по другому.
var myalert = function(text) {
var elem = $('<div></div>');
elem.text(text).click(function() {
elem.remove();
});
$('body').append(elem);
};
console.log('test1');
myalert();
console.log('test2');
Должно вывести "test1" и только после нажатия на DIV вывести "test2".
В идеале чтобы функция myalert могла возвращать результат по нажатию на DIV.
UPD 2:
Неужели я так непонятно объясняю. =(
Мне нужно имитировать стандартное поведение alert(), нужно чтобы код после myalert не выполнялся до тех пор пока не нажмут на кнопку. Чтобы не меняя весь код можно было заменить все alert'ы на myalert (ну и confirm/promt на myconfirm/mypromt).
for(var i=0; i<=10; i++) {
if(i==5) {
var t = mypromt('Введите i')
if(t != null) i = t;
}
}
Я уж не знаю как еще объяснить.