Benutzer:Deus Figendi/Eingabehilfe.js
Hinweis: Leere nach dem Veröffentlichen den Browser-Cache, um die Änderungen sehen zu können.
- Firefox/Safari: Umschalttaste drücken und gleichzeitig Aktualisieren anklicken oder entweder Strg+F5 oder Strg+R (⌘+R auf dem Mac) drücken
- Google Chrome: Umschalttaste+Strg+R (⌘+Umschalttaste+R auf dem Mac) drücken
- Internet Explorer/Edge: Strg+F5 drücken oder Strg drücken und gleichzeitig Aktualisieren anklicken
- Opera: Strg+F5
/*-----------------------------------------------------------------*\ | Because people asked me to reuse this script I'd like to set up a | | free licence on it. I just decided to use a modified | | "Hugware-Licence" so here we go: | | | |===================================================================| | HUGWARE (Revision df.01) | |===================================================================| | http://www.jedipedia.net/wiki/Benutzer_Diskussion:Deus_Figendi | | schrieb diese Datei. Solange Sie diesen Vermerk nicht entfernen, | | und dieses Programm registrieren können Sie mit der Datei machen, | | was Sie möchten. Um das Programm zu registrieren müssen Sie | | irgendjemanden umarmen. Auch der Autor wird gerne umarmt. Sie | | sind eingeladen das Programm sooft zu registrieren wie Sie | | möchten. | | | | http://www.jedipedia.net/wiki/Benutzer_Diskussion:Deus_Figendi | | wrote this file. As long as you don't remove this licence- | | agreement and as long you register your copy of this program you | | may do whatever you want with this file. To register thist | | software just find somone and give him or her a hug. The author | | also likes to be huged. You are invited to register the program | | as many times you like to. | | | | | \*-----------------------------------------------------------------*/ console.log('Eingabehilfe gestartet'); function handle_keyinput(event_object) { if (event_object.target.selectionStart == event_object.target.selectionEnd) { var old_cPosition = event_object.target.selectionStart; if (event_object.target.selectionStart == 0) { var prev_char = false; } else { var prev_char = event_object.target.value.charCodeAt(event_object.target.selectionStart-1); } if (event_object.target.selectionStart < 1) { var prev_char2 = false; } else { var prev_char2 = event_object.target.value.charCodeAt(event_object.target.selectionStart-2); } if (prev_char == 39) { //' console.log('Fall: Apostroph voran'); if (prev_char2 != 39 && event_object.which != 39) { console.log('Fall: alleinstehendes Apostroph'); event_object.target.value = event_object.target.value.slice(0,event_object.target.selectionStart-1)+String.fromCharCode(8217)+event_object.target.value.slice(event_object.target.selectionStart); event_object.target.selectionStart =old_cPosition; event_object.target.selectionEnd = old_cPosition; } } if (event_object.which == 32) { // if (prev_char == 45) { //- console.log('Fall: minus'); if (prev_char == 45) { // - console.log('Fall: 2minus'); event_object.target.value = event_object.target.value.slice(0,event_object.target.selectionStart-1)+String.fromCharCode(8211)+event_object.target.value.slice(event_object.target.selectionStart); event_object.target.selectionStart =old_cPosition; event_object.target.selectionEnd = old_cPosition; } } } else if (event_object.which == 34) { //" console.log('Fall: Anfuehrungszeichen'); if (prev_char == 32 || prev_char == false) { // " event_object.preventDefault(); event_object.target.value = event_object.target.value.slice(0,event_object.target.selectionStart)+String.fromCharCode(8222)+event_object.target.value.slice(event_object.target.selectionStart); event_object.target.selectionStart =old_cPosition+1; event_object.target.selectionEnd = old_cPosition+1; } if (prev_char != 32 && prev_char != false) { //h" event_object.preventDefault(); event_object.target.value = event_object.target.value.slice(0,event_object.target.selectionStart)+String.fromCharCode(8220)+event_object.target.value.slice(event_object.target.selectionStart); event_object.target.selectionStart =old_cPosition+1; event_object.target.selectionEnd = old_cPosition+1; } } else if (event_object.which == 62) { //> console.log('Fall: Groeszer'); if (prev_char == 62) { //>> console.log('Fall: 2Groeszer'); event_object.preventDefault(); event_object.target.value = event_object.target.value.slice(0,event_object.target.selectionStart-1)+String.fromCharCode(187)+event_object.target.value.slice(event_object.target.selectionStart); event_object.target.selectionStart =old_cPosition; event_object.target.selectionEnd = old_cPosition; } } else if (event_object.which == 60) { // < console.log('Fall: Kleiner'); if (prev_char == 60) { //<< console.log('Fall: 2Kleiner'); event_object.preventDefault(); event_object.target.value = event_object.target.value.slice(0,event_object.target.selectionStart-1)+String.fromCharCode(171)+event_object.target.value.slice(event_object.target.selectionStart); event_object.target.selectionStart =old_cPosition; event_object.target.selectionEnd = old_cPosition; } } } } function dfif_onload() { console.log('Suche Textbox...'); if (document.getElementById("wpTextbox1")) { console.log('wpTextbox1 gefunden'); document.getElementById("wpTextbox1").addEventListener("keypress",function f(e) { handle_keyinput(e); }, false); console.log('keypress registriert'); } else { console.log('wpTextbox1 nicht gefunden'); } } console.log('registriere onload-Haken'); //addOnloadHook(dfif_onload); $(document).ready(dfif_onload); //dfif_onload(); console.log('Eingabehilfe beendet');