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