Qualcuno sa come eseguire un semplice evento JavaScript onclick
se il processo di fare clic sull'elemento fa sì che un evento onchange venga attivato altrove nella pagina? Ho creato una pagina molto semplice per dimostrare questo problema:evento onclick che non viene attivato dopo l'evento onchange
<html>
<body>
<input type="text" name="test" id="test1" onchange="return change(event);" />
<a href="#" id="test2" onclick="return bang();">Bang</a>
<a href="#" id="test3" onclick="return boom();">Boom</a>
<script type="text/javascript">
function change(event) {
alert("Change");
return true;
}
function bang() {
alert("Bang!");
return true;
}
function boom() {
alert("Boom!");
return true;
}
</script>
</body>
</html>
Se si fa clic sul collegamento bang si ottiene il Bang! mettere in guardia. Boom ti dà l'avviso Boom. E se inserisci il testo nel campo di testo e premi il tabulatore, ottieni l'avviso di modifica. Tutto bene.
Tuttavia, se si immette del testo nel campo di testo e, senza fare tabulazioni o prima clic su qualsiasi altra cosa, fare clic su Bang o Boom si ottiene l'avviso Cambia e nient'altro. Mi aspetto di vedere l'avviso di modifica seguito da Bang o Boom.
Cosa sta succedendo qui? Il mio evento di cambiamento restituisce true. Come posso assicurarmi che il mio evento click sia licenziato?
Suggerimento: crea un violino su http://jsfiddle.net/ e condividilo qui. Questo rende più facile per le persone provarlo e aiutare. –
Probabilmente dovresti usare addEventListener invece di assegnarli tramite html come suggerimento. – Sir
Provare con 'console.log' invece di' alert'. – j08691