Как мне написать свой собственный диалог подтверждения в JavaScript? - PullRequest
3 голосов
/ 09 октября 2008

Я хочу написать что-то, что действует так же, как verify () в javascript, но я хочу написать это сам, чтобы я мог очистить диалоговое окно. Из-за проблем с продумыванием того, как я в основном заставлю поток javascript ждать, пока пользователь ответит, а затем вернуть true или false.

Ответы [ 5 ]

5 голосов
/ 09 октября 2008

На вашем месте я бы посмотрел одну из популярных библиотек javascript. Большинство из них содержат модальный диалог.

Пара, которую я нашел для JQuery: jqModal и SimpleModal .

Когда вы создаете модальное диалоговое окно, вам нужно привязать события к кнопкам, чтобы вы сделали что-то вроде:

function askUserYesOrNo() {
  var myDialog = $('<div class="mydialog"><p>Yes or No?</p><input type="button" id="yes" value="Yes"/><input type="button" id="no" value="No"/></div>');
  $("#yes").click(handleYes);
  $("#no").click(handleNo);
  myDialog.modal(); //This would have to be replaced by whatever syntax the modal framework uses
}

function handleYes() {
  //handle yes...
}

function handleNo() {
  //handle no...
}
3 голосов
/ 09 октября 2008

Вы действительно хотите использовать фреймворк для этого из-за множества странных кросс-браузерных проблем, с которыми вы столкнетесь, пытаясь создать его самостоятельно.

Я получил хорошие результаты, используя jqModal , плагин для фреймворка jQuery, который позволяет вам определять модальные диалоги, но это ни в коем случае не единственный вариант; Попробуйте Googling jquery modal или yui modal для некоторых альтернатив.

1 голос
/ 10 октября 2008

Для Mootools есть moo.rd's Custom.Confirm и Windoo.Confirm для справки.

0 голосов
/ 10 октября 2008
0 голосов
/ 09 октября 2008

Вы можете использовать window. showModalDialog ( mozilla ), но это нестандартная функция, представленная Internet Explorer. Теперь он также поддерживается в Firefox 3 и Safari (я не уверен, какая версия, но как минимум 3.1 и выше, но не iPhone).

...