¿Por qué el menú desplegable del botón Bootstrap no funciona en iOS?

Parece que incluso la demostración de arranque aquí no funciona en iOS. Parece que no puedes seleccionar un elemento en iPhone o iPad.

¿Hay una solución para esto?

Hay una solución rápida como se señala en muchos de los comentarios sobre github: https://github.com/twitter/bootstrap/issues/2975#issuecomment-8670606

agrega esta secuencia de comandos justo antes de cerrar la etiqueta html:

$('body').on('touchstart.dropdown', '.dropdown-menu', function (e) { e.stopPropagation(); }); 

He probado el método anterior en ios5 y 6. Funciona como un encanto


Si desea modificar el javascript bootstrap, podría, en lugar de la solución anterior, eliminar touchstart.dropdown.data-api del enlace html para clearMenus cerca de la parte inferior del archivo.

solo cambia esto

 $('html') .on('click.dropdown.data-api touchstart.dropdown.data-api', clearMenus) 

a esto

 $('html') .on('click.dropdown.data-api', clearMenus) 

Necesita agregar un jQuery personalizado en su archivo. Si desea usar eso, utilice:

 

Adults

Puedo darte una demostración en vivo para esto si quieres

Este script resuelve este problema. Solo agregue este código

 $(document).on('click', 'a.your-drop-down-link', function(event){ event.stopPropagation(); event.preventDefault(); if(event.handled !== true) { if ( $(this).parent().hasClass('open') ) { $(this).parent().removeClass('open'); }else{ $(this).parent().addClass('open'); } event.handled = true; } else { return false; } });