Sono un principiante che cerca di sviluppare un gioco per cellulare con Kinetic Js e "phonegap build". Sto vivendo un problema che non so come affrontare. ho fatto alcuni test:Come evitare gli eventi click sul corpo del documento (forse un bug in Cordova?)
ho appena incollato this code here nel mio index.html e inviato il codice al phonegap build che ha creato il file apk dal codice HTML. L'app funziona abbastanza bene, ma se giochi un po 'potresti vedere un comportamento indesiderato: l'intero "stage" può essere cliccato con un tocco e quando succede (in realtà non è facile farlo apposta, ma succede) si sente il suono di clic standard del sistema operativo Android e si vede l'intera area evidenziata per un secondo. Proprio come se tu fossi in un browser e hai fatto clic su un link.
ho compilato (con PhoneGap build) la bussola simulatore legata here, funziona, ma quando si tocca la foto della bussola si innescano il suono del click. Questo è un effetto indesiderato che non è presente se lo si esegue su un browser/emulatore.
Ho appena messo qualche immagine png nel corpo evitando canvas e KineticJs. Inoltre non ho aggiunto alcun copione. In questo caso non vi è alcun evento click quando si tocca. Ma Se aggiungo
<script src="http://code.jquery.com/jquery-1.8.2.min.js"></script> <script src="http://code.jquery.com/mobile/1.2.0/jquery.mobile-1.2.0.min.js"></script>
(anche senza aggiunta di qualsiasi script) poi di nuovo toccare in grado di produrre l'evento click. Se rimuovo qualcuno delle due linee, l'evento click scompare. Anche se aggiungo
<script src="http://d3lp1msu2r81bx.cloudfront.net/kjs/js/lib/kinetic-v4.5.4.min.js"></script>
di nuovo il corpo è cliccabile producendo luci e clic su suono. (Sto ancora parlando dell'app compilata con build su PhoneGap).
ho provato a sostituire <body>
con <body onmousedown="return false;">
, ma non ha aiutato. Ho anche provato con $("#object").click(function() {return false;})
con l'elemento div della tela, la foto e il corpo, non ha aiutato neanche. Ho cercato consigli per rendere le ancore non cliccabili per vedere se potevano essere applicate ma non ho trovato nulla di utile.
Qualche suggerimento?
Aggiornamento: Un'altra prova che non è stata risolta è: stage.off('tap click mousedown touchstart touchend dbltap');
.
Hai provato ['stopPropogation'] (https://developer.mozilla.org/en-US/docs/Web/API/event.stopPropagation) e [' preventdefault'] (https: //developer.mozilla .org/it-IT/docs/Web/API/event.preventDefault)? –
'preventdefault' non è probabile che funzioni perché puoi vederlo al lavoro [qui] (http://www.w3schools.com/jquery/tryit.asp?filename=tryjquery_event_preventdefault) e puoi controllare che l'audio e il video gli effetti click in realtà si verificano comunque. –
Non sono sicuro di dover interrompere la propagazione di un evento qui perché l'evento click indesiderato si verifica come un singolo evento, non come propagazione di un altro. –