Si los botones son para mostrar y ocultar elementos, no entiendo para qué quieres prevenir la acción natural del evento
click
, además, el método
toggle
no es un evento del cual puedas capturar un evento.
Podrías también hacerlo así:
Código Javascript
:
Ver originalfunction showHide(id, button){
$(button).text($(button).text() == "Ocultar" ? "Mostrar" : "Ocultar");
$(id).slideToggle("slow");
}
De este modo, al pulsar cualquier botón, muestras u ocultas al
<div>
que tenga asociado y cambias el texto en el botón pulsado. El método
slideToggle
combina la acción de los métodos
slideUp
y
slideDown
, aplicando uno de ambos efectos según sea el estado de visibilidad del elemento a afectar.
DEMO
Saludos