Tengo algunos enlaces que se muestran en una página. Me gustaría habilitar/deshabilitarlos en base a otros eventos en la página. ¿Hay alguna manera de hacer esto con jQuery?¿Cómo habilito/deshabilito dinámicamente los enlaces con jQuery?
Respuesta
$('selector_for_links_to_disable').bind('click', function(e){
e.preventDefault();
})
y para permitir:
$('selector_for_links_to_enable').unbind('click')
Intentar desvincular mientras sigue siendo la función de enlace no funciona. Luego debes usar "return true;" –
Se podría hacer algo como:
$('.links').click(function(e){
if([some conditions]){
e.preventDefault();
}
});
Asegúrese de mostrar que ya no funcionan de alguna manera, de lo contrario los usuarios se confundan, lol.
depende de lo que quiere decir con "deshabilitar".
Esto hará que no hacen nada:
$("A").click(function() { return false; });
$(document).delegate('.links', 'click', function() {
if ([your condition is true]) {
return false;
}
})
delegación es mejor que los manipuladores, porque les puede llamar antes de que el DOM se cargado
Usted c un hacer algo como esto:
<script>
$(document).ready(function() {
$('input#disableall').live('click', function(){
$('a').attr('class', 'disabled');
alert('All links are disabled.');
});
$('input#enableall').live('click', function(){
$('a').attr('class', 'enabled');
alert('All links are enabled.');
});
$('a.disabled').live('click', function(event){
event.preventDefault();
});
});
</script>
<a href='http://www.google.com'>Google<a/>
<a href='http://www.yahoo.com'>Yahoo<a/>
<a href='http://www.hotmail.com'>Hotmail<a/>
<input type='button' id='disableall' value='Disable Links' />
<input type='button' id='enableall' value='Enable Links' />
Cuando estoy dando funciones a los botones por jQuery, me gusta hacer esto:
indice = '';
$('myLink').live('click',function() {
if (indice !== 'value1'){
// your code
}
indice = 'value1';
return indice;
});
con esto, se obtiene la función de sólo la primera vez que se pulsa de botón. Ahora solo tiene que establecer un indice diferente de value1 para que su enlace funcione de nuevo
- 1. enlaces Desactivación con jQuery
- 2. Jquery TimePicker: Cómo cambiar dinámicamente los parámetros
- 3. ¿Prueba si los enlaces son externos con jQuery/javascript?
- 4. Usar jQuery Fancybox (cuadro de diálogo de tipo de cuadro de luz) con enlaces cargados dinámicamente
- 5. encuentra todos los enlaces de youtube con js (jquery)
- 6. Obtención de todos los enlaces mailto con jQuery
- 7. Abrir todos los enlaces en pestañas nuevas con jQuery
- 8. Jquery: Anexar querystring a todos los enlaces
- 9. Completar dinámicamente los valores de formulario con jQuery
- 10. Establecer posición dinámicamente con jquery
- 11. Establecer colspan dinámicamente con jquery
- 12. Crear botones dinámicamente con Jquery
- 13. ¿Cómo trabajar con campos creados dinámicamente?
- 14. CSS jQuery() para los elementos creados dinámicamente
- 15. Enlaces no aplicados a xaml dinámicamente cargados
- 16. ¿Cambiar texto de párrafo dinámicamente con jQuery?
- 17. Cargando SVG en SVGWeb dinámicamente con JQuery
- 18. seleccione la opción Rellenar dinámicamente con jQuery
- 19. jQuery: seleccionar todos los enlaces distintos a éste
- 20. Cargue jQuery dinámicamente
- 21. clase añadir a todos los enlaces que enlazan con un determinado dominio con js (jquery)
- 22. Creando columnas dinámicamente con Datatables Jquery
- 23. insertar dinámicamente foreignObject en SVG con jquery
- 24. cómo desactivar ciertos enlaces de acordeón jquery
- 25. Los enlaces comienzan con dos barras
- 26. ¿Cómo hacer que los enlaces débiles funcionen con GCC?
- 27. jQuery - eliminar dinámicamente los elementos del encabezado al hacer clic
- 28. Deshabilitar todos los enlaces dentro de IFRAME usando jQuery
- 29. Eliminar todo target = "_ blank" de los enlaces
- 30. cómo agregar dinámicamente anclaje/href en jQuery
¿Está utilizando html5? o xhtml? – RobertPitt
@robertpitt ¿por qué es relevante? – Yahel
porque si usa html5, puede usar 'data- *' para almacenar datos como cadenas, por lo que podría almacenar el href dentro de 'data-href' y reemplazar el actual con un' # ', luego crear un complemento para alternar esto, como '$ ('. disabled'). DisableClick();' puedes hacerlo con preventDefault pero yo solo iba a explicar una forma para html5. – RobertPitt