Visualizzazione dei risultati da 1 a 3 su 3
  1. #1

    problemi con onclick setAttribute su ie

    ciao io ho un problema
    ho una funzione che mi setta gli attributi di un immagine e ad ogni immagine vorrei passargli all'onclick una funzione...

    attualmente faccio cosi, con firefox funziona, mentre con explorer no!

    function changeGalleryImage(index) {


    // creo il div di scambio con l'immagine
    createDiv();

    var imageViewer = document.getElementById("imageViewer");
    var imageTitle = document.getElementById("imageTitle");
    var imageDescription = document.getElementById("imageDescription");
    var thumbnailsLayer = document.getElementById("thumbnailsLayer");
    var thumbIndex = 1;

    selectedImageIndex = index;

    //creo l'immagine grande piu titolo e descrizione
    imageViewer.src = galleries[selectedGalleryIndex][selectedImageIndex] + ".jpg";
    imageTitle.innerHTML = titles[selectedGalleryIndex][selectedImageIndex];
    imageDescription.innerHTML = descriptions[selectedGalleryIndex][selectedImageIndex];

    for (imageIndex = 0; imageIndex < galleries[selectedGalleryIndex].length; imageIndex++) {
    if (imageIndex == selectedImageIndex)
    continue;

    var imageElement = document.getElementById("imageThumb" + thumbIndex);
    thumbIndex++;

    imageElement.setAttribute("type", "image");
    imageElement.setAttribute("src", galleries[selectedGalleryIndex][imageIndex] + "_thumb.jpg");
    imageElement.setAttribute("alt", titles[selectedGalleryIndex][imageIndex]);
    imageElement.setAttribute("title", descriptions[selectedGalleryIndex][imageIndex]);
    imageElement.setAttribute("onclick", "changeGalleryImage(" + imageIndex + ")");

    }
    }

    avevo provato sostituire la riga:
    imageElement.setAttribute("onclick", "changeGalleryImage(" + imageIndex + ")");

    con:

    imageElement.onclick = changeGalleryImage( imageIndex);

    ma mi va in loop infinito...
    qualcuno vede dove faccio l'errore ?
    Kalton
    -------------------
    www.kalton.it - www.kalton.cavarzere.it

  2. #2
    devi fare:

    imageElement.onclick = function(){changeGalleryImage( imageIndex);}

  3. #3

    setAttribute in IE risolto con attachEvent

    Ciao posto questa funzione che ho dovuto creare per un problema simile.
    Io ho risolto così:

    function modifica(i){
    oTd[i*2+1].innerHTML=' | Salva';
    var salva=document.getElementById('salva');
    var browser=navigator.appName;
    if(browser=="Microsoft Internet Explorer"){ //Explorer
    salva.attachEvent('onclick',function(){attiva(i)}) ;
    document.getElementById('ind_'+i).readOnly=false;
    }else if(browser=="Netscape"){ //Firefox
    salva.setAttribute("onclick","attiva"+"("+i+")");
    document.getElementById('ind_'+i).readOnly=false;
    }
    }

    In pratica ogni volta che faccio partire la funzione modifica(i) faccio comparire il link "Salva" che viene inserito tramite innerHTML, il quale contiene inizialmente un onclick vuoto. Poi verifico quale browser sta lanciando la funzione e differenzio. Se è explorer è necessario utilizzare attachEvent che però non è supportato da Netscape e Firefox e non è neppure riconosciuto come standard dal W3C, ma è l'unica generica cosa che ho trovato e che funziona.

    attachEvent('onclick',doSomething)

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