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

    Ricavare elemento con focus

    Ciao a tutti, ho una pagina che contiene un iframe di cui conosco id e name. Esiste un modo in js o simili per capire se il focus è posizionato all'interno di questo elemento (o di un suo figlio) oppure se è all'esterno?

  2. #2
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Se la pagina caricata dal iframe è di un sito esterno al tuo, non è possibile.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  3. #3
    No, l'iframe è settato come "contenteditable" quindi dovrei poter accedere. Sbaglio?

  4. #4
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Penso che sia ininfluente, e comunque riflettendo sulla tua domanda l'evento focus non è verificabile a prescindere che sia interno o esterno al tuo dominio.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  5. #5
    Provo a spiegarti il mio problema, magari c'è una soluzione alternativa. Ho un iframe in cui l'utente può inserire del testo, e tramite dei bottoni anche dei tag HTML (a, img...)

    Per inserire il testo sto usando questo script:
    codice:
    function insertAtCursor(iframename, text, replaceContents)
     {
      if(replaceContents==null)
       {replaceContents=false;}
      
      if(!replaceContents)
       {
        sel = document.getElementById(iframename).contentWindow.getSelection();      
        sel.collapseToStart();
          
        document.getElementById(iframename).contentWindow.document.execCommand('insertHTML', false, text);
       } else {
        document.getElementById(iframename).contentWindow.document.execCommand('insertHTML', false, text);
       }
     }
    Ma ho il seguente problema, se l'utente non seleziona prima l'iframe ho un errore. Invece io vorrei una cosa del tipo. Se il focus non è settato, scrivi nel iframe.

    é possibile?

  6. #6
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Fermo restando che c'ho capito veramente poco credo che l'unica possibilità sia che quando apri/lanci iframe forzi il forus su un campo text/textarea/hidden (che sono gli unici campi che permetto il focus) sempre che la pagina che apri nel iframe sia del tuo dominio se è un dominio esterno questo non è possibile.
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  7. #7
    Diciamo che bastava controllare se la variabile è piena o no

    codice:
    function insertAtCursor(iframename, text, replaceContents)
     {
      if(replaceContents==null)
       {replaceContents=false;}
      
      sel = document.getElementById(iframename).contentWindow.getSelection();
      
      if(sel.length>0)
       {
        if(!replaceContents)
         {
          sel.collapseToStart();
          
          document.getElementById(iframename).contentWindow.document.execCommand('insertHTML', false, text);
         }
        else
         {document.getElementById(iframename).contentWindow.document.execCommand('insertHTML', false, text);}
       }
      else
       {
         //scrittura forzata su iframe
       }
     }

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.