Pregunta

Quiero escribir algo que actúe como confirmar () en javascript, pero quiero escribirlo yo mismo para poder aplicar el cuadro de diálogo. Al tener problemas para pensar cómo forzaría básicamente el hilo de javascript para esperar hasta que el usuario responda y luego devuelva verdadero o falso.

¿Fue útil?

Solución

Si fuera usted, miraría una de las bibliotecas populares de JavaScript. La mayoría contiene algún tipo de diálogo modal.

Una pareja que encontré para JQuery son jqModal y SimpleModal .

Cuando cree el cuadro de diálogo modal, deberá vincular los eventos a los botones, por lo que debería hacer algo como:

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...
}

Otros consejos

Realmente desea utilizar un marco para esto, debido a la cantidad de problemas extraños entre navegadores que encontrará al intentar construirlo usted mismo.

He tenido buenos resultados usando jqModal , un complemento para el marco jQuery que le permite definir diálogos modales, pero de ninguna manera es la única opción; intente buscar en Google jquery modal o yui modal para algunas alternativas.

Para Mootools, hay moo.rd's Custom.Confirm y Windoo.Confirm para su referencia.

Puede usar la ventana. showModalDialog ( mozilla ), pero es una función no estándar introducida por Internet Explorer. Ahora también es compatible con Firefox 3 y Safari (no estoy seguro de qué versión, pero al menos 3.1 y superior, pero no el iPhone).

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top