Visualizzazione dei risultati da 1 a 2 su 2
  1. #1
    Utente di HTML.it
    Registrato dal
    Dec 2007
    Messaggi
    26

    [JavaScript e prototype.js] Simulare un click su un HTMLAnchorElement

    Salve a tutti, sto cercando in tutti i modi di simulare (a tutti gli effetti) un click su un elemento <a>. Ho trovato questo metodo, utilizzando il prototype:

    Codice PHP:
    window.addEventListener('load', function(event) {
       
    HTMLAnchorElement.prototype.click = function() {
          var 
    evt this.ownerDocument.createEvent('MouseEvents');
          
    evt.initMouseEvent('click'truetruethis.ownerDocument.defaultView10
          
    000falsefalsefalsefalse0null);
          
    this.dispatchEvent(evt);
       }

       var 
    buildAnchors document.getElementsByTagName('a');
       for (var 
    0i<buildAnchors.lengthi++) {
          if (
    buildAnchors[i].innerHTML.indexOf('livello')>-1) {
             
    alert(buildAnchors[i]);
             
    buildAnchors[i].click();
             return;
          }
       }
    },
    'false'); 
    Il tutto consiste nell'aggiungere la funzione .click() ad ogni HTMLAnchorElement, poi ciclare su ogni elemento <a> del documento e, se contiene il testo nella variabile 'txt', ci clicca sopra. L'alert compare, significa che l'elemento lo trova (ed è un elemento <a> valido), ma non ci fa click sopra, come se buildAnchors[i].click(); non esistesse. Nessun errore nè warning nella console js. A cosa può essere dovuto? Ho provato a fare alert(typeof buildAnchors[i]) e restituisce "object". Dovrebbe forse restituire HTMLAnchorElement? non credo...

    Ah, non mi interessa la compatibilità, mi interessa solo che lo script funzioni con Firefox. Grazie

  2. #2
    Utente di HTML.it
    Registrato dal
    Dec 2007
    Messaggi
    26
    nessunoo?

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 © 2024 vBulletin Solutions, Inc. All rights reserved.