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

    problema getSelection()

    Allora, in questo script
    codice:
    function get(){
    if (window.getSelection){
    	var str = window.getSelection(); 
    }else if (document.getSelection){
        var str = document.getSelection();
    }else if (document.selection){
        var str = document.selection.createRange().text;
    } 
    alert(str);
    }
    si vede come , in teoria, selezionando un testo questo dovrebbe apparire in un alert.

    Funziona in IE ma non in Firefox (fuzione window.getSelection)
    essendo il getSelection() supportato da firefox (mi ha pure corretto dicendomi che il corretto utilizzo è window.getSelection().

    il dubbio mi viene..sara mica un Bug di FF oppure sbaglio io qualcosa?
    My Site E C

  2. #2
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    nessun bug,
    in parole povere considera come se ci fossero 2 tipi di selezione, A e B:
    A - testo in textarea
    B - evidenzio un testo in un paragrafo

    la diversa natura ti viene anche manifestata dal menu contestuale, diverso nei 2 casi

    window.getSelection() restituisce correttamente la selezione di tipo B

    x ottenere quanto contenuto in una selezione di tipo A con ffox e'
    codice:
    obj=document.nomeForm.nomeElemento;
    if(obj.selectionEnd){ // questo sniffa moz & affini
    	var from=obj.selectionStart;
    	var to=obj.selectionEnd;
    	var selText=obj.value.substring(from,to);
    }
    alert(selText);
    ciao

  3. #3
    allora, la funzione da te scritta funge benissimo in caso di testo in una textarea(cosa che a me serviva.) pero come da te spiegato la mia funzione invece dovrebbe selezionare il testo di un paragrafo, ma non lo fa con Firefox
    My Site E C

  4. #4
    Utente di HTML.it L'avatar di Xinod
    Registrato dal
    Sep 2000
    Messaggi
    13,649
    ok, quindi parliamo del caso B

    non forza la selezione, questo da che io sappia non e' possibile farlo, rileva la parte selezionata
    in window.getSelection() hai quello che e' selezionato

    chiaro che se richiami la funzione onclick su un elemento non c'e' + nulla di selezionato

    ma se per puro esperimento fai
    codice:
    function allerta(){
    var selText=window.getSelection();
    alert(selText);
    }
    window.onload=function(){ setTimeout('allerta()', 3000)}
    restituira' quello che e' selezionato dopo 3 sec dal caricamento del documento

    ciao

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.