Visualizzazione dei risultati da 1 a 10 su 10
  1. #1
    Utente di HTML.it L'avatar di strae
    Registrato dal
    Apr 2008
    Messaggi
    407

    click e doubleclick insieme..

    mi domandavo se è possibile, sullo stesso elemento, utilizzare sia la funzione onclick che ondblclick..

    Codice PHP:
    <script>
    function 
    a(){
        
    alert('click!');
    }
    function 
    b(){
        
    alert('doppioclick!!!');
    }
    </script>
    <span ondblclick="b();" onclick="a();">clicca qui.</span> 
    il problema è che provando ad effetuare il doppio click, al primo click parte la funzione a (poi vabbhè, nell'esempio sopra scatta un alert che rende impossibile il secondo click, ma è un esempio)

    che sò, forse agendo con dei timer..


    Codice PHP:
    <script>
    var 
    myTimer;
    function 
    waitMe(){
        if(
    myTimer){
            
    clearTimeout(myTimer);
        }
        
    myTimer setTimeout("a()"250);
    }
    function 
    b(){
        
    alert('doppioclick!!!');
        if(
    myTimer){
            
    clearTimeout(myTimer);
        }
    }
    function 
    a(){
        
    alert('click');
    }
    </script>
    <span ondblclick="b();" onclick="waitMe();">clicca qui.</span> 
    così funziona, ma dovendo adattare una soluzione che verrà applicata a diversi elementi su una pagina... credo che si creerebbe un pò di casino.
    ci sarebbe anche poi il problema che la funzione a() sarebbe sempre ritardata di 250 millisecondi.. e che quel 250 per alcuni utenti debba essere maggiore (con sempre più ritardo sulla funzione 'principale' diciamo)


    voi conscete un'altra soluzione?
    You HAVE to assume your visitor is a maniac serial killer, out to destroy your application. And you have to prevent it.
    I can accept failure, everyone fails at something - But I can't accept not trying.

  2. #2
    guarda, non è mai buona idea usare onClick e onDoubleClick sullo stesso elemento, proprio perché non c'è modo di distinguere tra un evento onDoubleClick e due eventi onClick.
    Ti conviene fare due elementi cliccabili con due funzioni diverse.

  3. #3
    Utente di HTML.it L'avatar di strae
    Registrato dal
    Apr 2008
    Messaggi
    407
    Originariamente inviato da artorius
    guarda, non è mai buona idea usare onClick e onDoubleClick sullo stesso elemento, proprio perché non c'è modo di distinguere tra un evento onDoubleClick e due eventi onClick.
    Ti conviene fare due elementi cliccabili con due funzioni diverse.
    vedi, il mio esempio classico sono le categorie (di oggetti, utenti, ecc..)

    nella pagina delle'elenco, ho una tabella con ogni riga il nome della categoria, e 2-3 icone.

    attualmente, cliccando su l'icona della modifica, un'azione ajax cambia l'html della scritta con un campo input text e il bottone apposito per salvare la modifica al nome della categoria.

    mentre il nome della categoria è un link che porta alla pagina con tutte le opzioni della categoria..


    quello che vorrei fare è eliminare tutte le icone, con una procedura del tipo:
    click singolo sul nome = window.location='pagina.php'
    doppio click = funzione ajax per la modifica.

    credo che anche a livello di usabilità, se l'handler dei click è fatto bene, sia molto comodo (dopo averne spiegato il funzionamento all'utente)
    You HAVE to assume your visitor is a maniac serial killer, out to destroy your application. And you have to prevent it.
    I can accept failure, everyone fails at something - But I can't accept not trying.

  4. #4
    io invece non credo, perché, quando sviluppi un'interfaccia, non devi partire da, quando l'utente fa giusto, ma quanto l'utente sbaglia.
    Devi sempre partire dal presupposto che gli utenti che useranno il tuo sito non sono sono esseri senzienti, non sono in grado di fare qualsiasi azione ritenuta umana, e, se gliene dai occasione, sbaglieranno sempre.

    Ergo, fai una cosa come la tua ed otterrai una marea di utenti che fanno doppio click, quando vogliono cambiare pagina. Il tuo script gli mette l'input text e loro, per lo shock, premono tre pulsanti a caso più l'invio sulla tastiera, cambiando il nome della categoria. Poi, incapaci di pensare correttamente, ricliccano, una volta, sul link per editarlo, spostandosi nella pagina che apre. Infine, dopo la mastodontica fatica di ritornare alla pagina precedente (sembra facile afferrare il mouse e cliccare sulla freccia in alto a sinistra, ma se hai gravi impedimenti alle dita è dura. Come dici? Backspace? Che è? Si mangia?), avranno completamente dimenticato qual'era la voce che hanno cambiato, o in quale accrocchio di lettere hanno cambiato il nome. Non gli resterà, dunque, altro da fare, se non chiamare te, per farti fare il restore del DB del giorno prima. Che, ovviamente, sarà corrotto, etc etc etc.

    Ascoltami: un pulsante, un link, una funzione.

  5. #5
    Moderatore di Annunci siti web, Offro lavoro/collaborazione, Cerco lavoro L'avatar di cavicchiandrea
    Registrato dal
    Aug 2001
    Messaggi
    26,133
    Originariamente inviato da artorius
    .......

    Ascoltami: un pulsante, un link, una funzione.
    Quoto e aggiungo perché complicarsi la vita?
    Cavicchi Andrea
    Problemi con javascript, jquery, ajax clicca qui

  6. #6
    Utente di HTML.it L'avatar di strae
    Registrato dal
    Apr 2008
    Messaggi
    407
    Originariamente inviato da cavicchiandrea
    Quoto e aggiungo perché complicarsi la vita?
    perchè quell'elenco è generato da ajax, e con una stampa di diciamo 1000 record ho 3000 icone che mi appesantiscono il tutto..

    valuterò le cose...
    You HAVE to assume your visitor is a maniac serial killer, out to destroy your application. And you have to prevent it.
    I can accept failure, everyone fails at something - But I can't accept not trying.

  7. #7
    appesantiscono!?!? Guarda che le icone sono immagini, ergo le scarica una volta e poi le riusa sempre.

    Comunque, stampi 1000 record?!?!?!? usare un sistema di navigazione con batch?

  8. #8
    Utente di HTML.it L'avatar di strae
    Registrato dal
    Apr 2008
    Messaggi
    407
    Originariamente inviato da artorius
    appesantiscono!?!? Guarda che le icone sono immagini, ergo le scarica una volta e poi le riusa sempre.

    Comunque, stampi 1000 record?!?!?!? usare un sistema di navigazione con batch?
    batch?

    naturalmente nella pagina di default stampo 20 record e le relative pagine, ma l'utente ha la possibilità di cambiare quel valore fino a 999..

    per quel che riguarda la cache.. non saprei.. io ho provato, lanciando la stessa richiesta con gli stessi dati, prima con e poi senza icone: c'è una bella differenza di tempo tra il click sul bottone 'cerca' e la visualizzazione dei record a video.

    che poi sia un problema di cache, o del browser che a stampare 1000 righe con 3 icone ciascuna ci mette più tempo, mi interessa molto relativamente..

    l'icona per l'eliminazione l'ho già tolta, sostituita col metodo 'seleziona quelli che vuoi eliminare poi clicchi l'icona elimina'

    il modifica 'al volo'.. devo valutare, farò i miei test e poi vi farò sapere (casomai vi faccio anche vedere un esempio di pagina)
    You HAVE to assume your visitor is a maniac serial killer, out to destroy your application. And you have to prevent it.
    I can accept failure, everyone fails at something - But I can't accept not trying.

  9. #9
    scusa, perchè non usi dei link?

    Codice PHP:

    <table width="100%">
       <
    thead>
          <
    tr>
             <
    th>id</th>
             <
    th>Nome</th>
             <
    th colspan="2"></th>
          </
    tr>
       </
    thead>
       <
    tbody>
          <
    tr>
             <
    td>1</td>
             <
    td>[url="view.php?id=1"]Gigi[/url]</td>
             <
    td>[url="#"]Modifica[/url]</td>
             <
    td>[url="#"]Gigi[/url]</td>
          </
    tr>
       </
    tbody>
    </
    table

  10. #10
    Utente di HTML.it L'avatar di strae
    Registrato dal
    Apr 2008
    Messaggi
    407
    Originariamente inviato da artorius
    scusa, perchè non usi dei link?

    Codice PHP:

    <table width="100%">
       <
    thead>
          <
    tr>
             <
    th>id</th>
             <
    th>Nome</th>
             <
    th colspan="2"></th>
          </
    tr>
       </
    thead>
       <
    tbody>
          <
    tr>
             <
    td>1</td>
             <
    td>[url="view.php?id=1"]Gigi[/url]</td>
             <
    td>[url="#"]Modifica[/url]</td>
             <
    td>[url="#"]Gigi[/url]</td>
          </
    tr>
       </
    tbody>
    </
    table
    più che altro per motivi estetici: il link testuale non è il massimo, poi tiene spazio, in alcune sezioni stampo molte informazioni nella stessa riga.. anche lo spazio è un problema (ma non la maggior parte delle volte)

    però pensavo che, visto che non è un sito pubblico ma un servizio dove si presuppone che l'utente abbia un minimo di conoscenza del funzionamento del browser.. una volta uniformato e usato ovunque il metodo del doppio click potesse essere una buona soluzione..

    altra cosa che non mi piace del link è che mi và a incasinare anche lo scroll della pagina (anche usando le anchor), e agendo a livello di css non c'è piena compatibilità con tutti i browser.
    You HAVE to assume your visitor is a maniac serial killer, out to destroy your application. And you have to prevent it.
    I can accept failure, everyone fails at something - But I can't accept not trying.

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.