javascript - que - quimicos para conservar alimentos
href="#" agrega#al final de la página url (2)
Debe evitar que se produzca la respuesta predeterminada.
El enfoque anticuado es return false
de ello:
<a href="#" onclick="alert(''You clicked a link.''); return false;">Click Me!</a>
O mejor:
<a href="#" id="myLink">Click Me!</a>
<script type="text/javascript">
window.onload = function() {
document.getElementById(''myLink'').onclick = function(event) {
alert(''You clicked a link.'');
return false;
};
};
</script>
El mejor enfoque hoy en día es llamar al método apropiado de la propiedad del event
:
<a href="#" id="myLink">Click Me!</a>
<script type="text/javascript">
window.onload = function() {
document.getElementById(''myLink'').onclick = function(event) {
alert(''You clicked a link.'');
event.preventDefault(); // <---
};
};
</script>
También es mejor reemplazar ese #
con un URI a una página adecuada, para personas que no usan JavaScript. En algunas jurisdicciones, la accesibilidad es, de hecho, un requisito legal .
Editar solucionado para bleedin ''IE:
function f() {
document.getElementById(''myLink'').onclick = function(e) {
alert(''You clicked a link.'');
if (!e) {
var e = window.event;
}
// e.cancelBubble is supported by IE - this will kill the bubbling process.
e.cancelBubble = true;
e.returnValue = false;
// e.stopPropagation works only in Firefox.
if (e.stopPropagation) {
e.stopPropagation();
e.preventDefault();
}
};
window.onload = f;
Digamos que tengo el siguiente enlace:
<a href="#" onclick="alert(''You clicked a link.'');">Click Me!</a>
Al hacer clic en este enlace, se alertará un mensaje y se agregará un signo de almohadilla al final de la url de la página.
Esto no se ve muy bonito, ¿hay alguna manera de evitarlo además de usar javascript en la url misma?
<a href="javascript:alert(''You clicked a link.'');">Click Me!</a>
El truco es return false
en el controlador de eventos.
<a href="" onclick="alert(''You clicked a link.''); return false">Click Me!</a>