solucionar data como attribute javascript jquery html

javascript - data - jquery html



JavaScript o jQuery ¿Está seguro? ¿Diálogo para el enlace<A>? (5)

Creo que la solución más sencilla será

<a href="/DoSomethingDangerous" onclick="if (!confirm(''Are you sure?'')) return false;">Link test</a>

Tengo un enlace en mi HTML:

<a href="/DoSomethingDangerous">do something dangerous</a>

Al visitar el enlace DoSomethingDangerous se produce una acción no reversible fácilmente.

Entonces, después de hacer clic en el enlace, me gustaría que aparezca un cuadro de diálogo (por ejemplo, "¿Está seguro?" "Aceptar" "Cancelar") y si el usuario hace clic en Cancelar, el enlace no se visita y el navegador permanece en la misma página .

¿Cuál es la técnica más limpia que usa Javascript o jQuery para implementar esto?



Si sabemos que la función DOM window.confirm() devuelve boolean true en "yes" y false en "no", nuestro enlace podría simplificarse un poco:

<a href="/DoSomething" onclick="return confirm(''Are you sure?'');">Link</a>


$(''a'').click(function(e) { if(confirm("Are you sure?")) { alert(''navigate!''); } else { e.preventDefault(); } });

Demostración: http://jsfiddle.net/PDj9H/


<a class="confirm" href="/DoSomethingDangerous">do something dangerous</a>

javascript:

$(function() { $(''.confirm'').click(function(e) { e.preventDefault(); if (window.confirm("Are you sure?")) { location.href = this.href; } }); });

o incluso más simple:

$(function() { $(''.confirm'').click(function() { return window.confirm("Are you sure?"); }); });

El cuadro de confirmación nativo no se puede diseñar. Si quieres estilo, entonces puedes usar jQuery.UI.dialog