2009-10-12 4 views
18

Utilizando la biblioteca jQuery UI seleccionable(). Los enlaces dentro de los elementos de la lista seleccionable no se siguen al hacer clic, solo haciendo clic con el botón derecho y abriendo en una nueva ventana o pestaña.JQuery UI seleccionable, no se siguen los enlaces al hacer clic en

HTML

<ul class="selectable-list"> 
    <li> 
     <p>Visit Google.</p> 
     <a href="http://www.google.com">Google</a> 
    </li> 
    <li> 
     <p>Visit Apple.</p> 
     <a href="http://www.apple.com">Apple</a> 
    </li> 
    <li> 
     <p>Visit Microsoft.</p> 
     <a href="http://www.microsoft.com">Microsoft</a> 
    </li> 
</ul> 

CSS

.selectable-list li.ui-selected, .selectable-list li.ui-selected:hover { 
    background-color: #ccc; 
} 

JS

$(document).ready(function(){ 

    $(".selectable-list").selectable(); 

}); 

Respuesta

35

El método seleccionable() toma una opción llamada cancel. Por defecto, es ": entrada, opción", pero puede usarlo para hacer que sus anclajes no se apliquen al evento seleccionable.

Para su código:

$(document).ready(function() { 
    $(".selectable-list").selectable({ 
     cancel: 'a' 
    }); 
}); 
+0

¿Existe la posibilidad de reanudar la selección una vez que llegue al enlace deseado? – windsound

+0

Oh hombre, me acabas de ahorrar horas de codificación. ¡Gracias! – Slavic

+2

Yo voté esto. Pero luego descubrí que la opción de demora es mejor para mi caso de uso. http://api.jqueryui.com/selectable/#option-delay – Doug

1

seleccionable es reemplazar los eventos de clic en el href. Probablemente tenga que volver a agregar en la funcionalidad de navegación.

Sin embargo, parece un comportamiento extraño para el que estás rodando. ¿Por qué querría tanto seleccionar algo y seguir un enlace (presumiblemente a una nueva ventana, que luego tomaría el foco) al mismo tiempo?

+0

Sí, veo que seleccionable es reemplazar la funcionalidad normal de clic en el enlace. La pregunta es, ¿cuáles son algunas sugerencias sobre la mejor manera de solucionarlo? El usuario seleccionará los elementos en una lista para guardar en una lista personalizada. La interacción seleccionable() muestra qué elementos se han seleccionado hasta ahora. También pueden elegir seguir el enlace en el elemento de la lista. – jerome

+0

Bueno, hacer que siga automáticamente el enlace probablemente no sea lo que quiere desde el punto de vista de la interfaz de usuario. Si es así, utilice más Jquery para expandir la funcionalidad OnClick después de llamar a .selectable(). Sin embargo, recomendaría tener el enlace activo con (seleccionar) después, o viceversa, donde el clic es una selección, pero agrega un enlace (abrir url) en la misma línea con un clic para abrir la URL –

+0

Agradezco sus recomendaciones sobre el comportamiento de UI. El código real en el que estoy trabajando consiste en un elemento de lista que incluye un enlace a un artículo y una descripción más larga de una entrada de artículo, seguido de un sello de fecha para ese artículo. Entonces, el contenido dentro del li es más grande, y es el li el que se puede seleccionar, no el enlace en sí mismo. Tal vez esa descripción te ayudará a imaginar lo que estoy tratando de hacer. ¿Tiene una recomendación específica sobre cómo dejar el li como un todo seleccionable, mientras conserva (o vuelve a agregar) la funcionalidad del enlace? – jerome

Cuestiones relacionadas