Pagina 1 di 3 1 2 3 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 23
  1. #1
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    234

    Disabilitare href con jquery

    Ciao a tutti,
    ho un elenco variabile di questo tipo:
    una volta cliccato voglio che venga disabilitato l'attributo href o l'onclick..e abilitare a loro volta gli altri..

    Per ora sto usando questa funzione che al momento mi serve per assegnare una classe al pulsante..
    ho provato con il preventDefault ma non funziona:

    codice:
    jQuery("li a.playeryt").click(function(e) {
    	e.preventDefault();
      	// remove classes from all
      	jQuery("li a.playeryt").removeClass("clicked");
      	// add class to the one we clicked
      	jQuery(this).addClass("clicked");
    });
    Come posso fare?
    Grazie per l'aiuto

  2. #2
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    234
    mmm..nessuno riesce a darmi una mano?

  3. #3
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    non si capisce cosa vuoi fare, rispiega con magari qualche esempio.

  4. #4
    Utente di HTML.it L'avatar di m4rko80
    Registrato dal
    Aug 2008
    residenza
    Milano
    Messaggi
    2,655
    Così come hai scritto il link non punta da nessuna parte effettivamente, al massimo ricarica la stessa pagina per via del # e al click esegue la tua funzione(sempre se e' corretta questa).

    Forse (ma non e' chiaro) basterebbe sostituire il # con : javascript:void(0); per non far ricaricare proprio nulla.

    ps
    forse nel testo della risposta javascript avrà il trattino di mezzo che va tolto

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    234
    Ciao Vindav,
    all'onclick su ogni link passo un valore alla funzione load() la quale mi carica un video in un player di youtube..
    vorrei che una volta cliccato quel link non sia più funzionante per prevenire il ricaricamento dello stesso..quindi disabilitandolo.

    Vorrei se possibile implementarlo nella funzione che già ho per gestire la selezione del link..
    la quale mi serve per assegnare una classe e cambiare lo sfondo del link..

    non so se mi sono spiegato meglio..

  6. #6
    Utente di HTML.it L'avatar di m4rko80
    Registrato dal
    Aug 2008
    residenza
    Milano
    Messaggi
    2,655
    Una volta caricato il video potresti eliminare l'onclick dal tag con jQuery('tuo_selettore').removeAttr('onClick').

    PS non so se in questo caso e' riconosciuto come onclick, se mai cerca la definizione corretta

  7. #7
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    la soluzione è semplicissima , ti crei una variabile dove ti salvi l'ultimo link premuto... ma devi gestire tutto in un unica funzione, sposta la chiamata alla funzione load dentro la funzione jquery.

    edit. come proposto da marko potrebbe anche funzionare, ma secondo me non è la soluzione corretta

  8. #8
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    234
    La mia funzione load è questa:
    codice:
    function load(id) {
        if (ytplayer) {
            ytplayer.loadVideoById(id);
        }
    }
    e questa è la mia funzione:
    codice:
    jQuery("li a.playeryt").click(function(e) {
    	e.preventDefault();
      	// remove classes from all
      	jQuery("li a.playeryt").removeClass("clicked");
      	// add class to the one we clicked
      	jQuery(this).addClass("clicked");
    });
    come faccio però a spostare la chiamata della funzione load all'interno dell'altra funzione se devo passargli l'id di youtube <? print $rowb->iyt ?> ?

  9. #9
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    ci sono vari modi, il primo che mi viene in mente:

    codice:
    [*]
    codice:
    currentLink = "";
    
    jQuery("li a.playeryt").click(function(e) {
      id= $(this).attr("href");
      if(id != currentLink) load(id);
      currentLink = id;
      e.preventDefault();
    });

  10. #10
    Utente di HTML.it
    Registrato dal
    Apr 2007
    Messaggi
    234
    Ho provato come dici ma invece che passare l'id al player mi apre la pagina come fosse un link..
    http://www.miosito.it/music/x552faUkvdw

    codice:
    currentLink = "";
    
    jQuery("li a.playeryt").click(function(e) {
      id= jQuery(this).attr("href");
      if(id != currentLink) load(id);
      currentLink = id;
      e.preventDefault();
      	// remove classes from all
      	jQuery("li a.playeryt").removeClass("clicked");
      	// add class to the one we clicked
      	jQuery(this).addClass("clicked");
    });
    									
    function load(id) {
        if (ytplayer) {
            ytplayer.loadVideoById(id);
            hideCover();
        }

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2026 vBulletin Solutions, Inc. All rights reserved.