Evento de expansión / colapso colapsado de JQuery-Mobile

¿Alguien sabe de otra manera para capturar el evento de expandir o colapsar un componente marcado con data-role="collapsible" aparte del evento onclick de su encabezado?

EDITAR: Me gustaría algún tipo de evento que también proporcione información sobre el estado expandido / colapsado del componente.

Hay eventos personalizados para los bloques collapsible . Puede enlazar a los eventos de expand y collapse :

 $('#my-collapsible').bind('expand', function () { alert('Expanded'); }).bind('collapse', function () { alert('Collapsed'); }); 

Aquí hay un jsfiddle: http://jsfiddle.net/6txWy/

En jQuery Mobile 1.4 hay los eventos collapsiblecollapse y collapsibleexpand . https://api.jquerymobile.com/collapsible/#event-collapse

 $( ".selector" ).on( "collapsiblecollapse", function( event, ui ) {} ); 

Puede vincular cualquier evento que desee, por ejemplo:

Manifestación:

JS

 $("div:jqmData(role='collapsible')").each(function(){ bindEventTouch($(this)); }); function bindEventTouch(element) { element.bind('tap', function(event, ui) { if(element.hasClass('ui-collapsible-collapsed')) { alert(element.attr('id')+' is closed'); } else { alert(element.attr('id')+' is open'); } }); } 

HTML

 

Header #1

I'm Header #1


Header #2

I'm Header #2

No creo que haya otra manera de hacer esto. No creo que pueda utilizar animationComplete en este caso como se describe aquí:
http://jquerymobile.com/test/docs/api/events.html

Tal vez pueda utilizar ciertos cambios de clase en los elementos específicos, que de hecho no es mejor que enlazar un evento onclick del encabezado.

Podrías probar el evento de toque móvil jQuery . No lo he usado personalmente, pero he oído que es similar al manejador de eventos mousedown . Si proporcionó un poco más de detalles sobre por qué el onclick no funciona, quizás podamos ayudarlo un poco más.