Morse Code v3
rewritten Matthias Tylkowski
by EnigmaMaster
HTML
<div id="two">
Use arrow keys to produce morse code ; left arrow = "." right arrow = "-" down arrow = " ". After clicking run, click in the results box and start using arrow keys , dont click in the text area, it will not work properly
</div>
<div id="box">
<textarea id="type"></textarea>
</div>
<!-- Created By Raul Rodriguez-->
<!-- Rewritten by Matthias Tylkowski-->
CSS
input[type="button"] {
width:20px;
clear:both;
}
#prompt {
border:thin solid black;
width:100px;
height: 100px;
word-wrap: break-word;
overflow: auto;
}
#two {
border: thin solid black;
float:left;
width:400px;
height:200px;
margin-right:10px;
}
JavaScript
$('#type').keydown(function(e) {
switch(e.keyCode) {
case 37: this.value += "."; break;
case 39: this.value += "-"; break;
case 40: this.value += " "; break;
case 8: return; // allow backspace
}
e.preventDefault();
}).keyup(function() {
var typedTextArray = $(this).val().split(/\s/g),
typedTextDisplay = [];
$(typedTextArray).each(function(index, elem){
switch(elem){
case '.-': typedTextDisplay.push('a'); break;
case '-...': typedTextDisplay.push('b'); break;
case '-.-.': typedTextDisplay.push('c'); break;
case '-..': typedTextDisplay.push('d'); break;
case '.': typedTextDisplay.push('e'); break;
case '..-.': typedTextDisplay.push('f'); break;
case '--.': typedTextDisplay.push('g'); break;
case '....': typedTextDisplay.push('h'); break;
case '..': typedTextDisplay.push('i'); break;
case '.---': typedTextDisplay.push('j'); break;
case '-.-': typedTextDisplay.push('k'); break;
case '.-..': typedTextDisplay.push('l'); break;
case '--': typedTextDisplay.push('m'); break;
case '-.': typedTextDisplay.push('n'); break;
case '---': typedTextDisplay.push('o'); break;
case '.--.': typedTextDisplay.push('p'); break;
case '--.-': typedTextDisplay.push('q'); break;
case '.-.': typedTextDisplay.push('r'); break;
case '...': typedTextDisplay.push('s'); break;
case '-': typedTextDisplay.push('t'); break;
case '..-': typedTextDisplay.push('u'); break;
case '...-': typedTextDisplay.push('v'); break;
case '.--': typedTextDisplay.push('w'); break;
case '-..-': typedTextDisplay.push('x'); break;
case '-.--': typedTextDisplay.push('y'); break;
case '--..': typedTextDisplay.push('z'); break;
}
});
...