• Das Erstellen neuer Accounts wurde ausgesetzt. Bei berechtigtem Interesse bitte Kontaktaufnahme über die üblichen Wege. Beste Grüße der Admin

ctrl + shift + h werd als ctrl + h registriert (IE)

vincentVirgile

New member
[Javascript] ctrl + shift + h werd als ctrl + h registriert (IE)

Hallo,

Ich versuche gerade ein control script zu programmieren das action x ausführen soll wenn der user Ctrl+Shift+irgendwelchebuchstabe klickt.
In mein beispiel ist action x = alert(sChar);

Mein experiment funktioniert perfekt bis auf IE, da verhaltet mein script sich unstabil (eigentlich sollte e.cancelBubble - denke ich zumindestens - dies übernehmen weil die ganze depencies sich änderen).

zB. wenn ich Ctrl+shift+h klicke, öffnet IE mein history dialog fenster, das sollte ja nicht passieren, sondern alert(sChar) = alert box mit H


Vielen dank und hoffentlich kann jemanden es für mich lösen.

Lg,

Vincent Virgile

<script type="javascript>
function keyPress (e) {

if (!e) e = window.event;

var kc = e.keyCode ? e.keyCode:e.which;
var sChar=String.fromCharCode(kc);

e.cancelBubble = true;

if (e.ctrlKey&&e.shiftKey) {
alert(sChar);
return false ;
e.returnValue = false ;

}

}

document.onkeypress = keyPress;
</script>
 
Zuletzt bearbeitet:
1. deine Zuweisung zu e.returnValue wird nie ausgeführt... (ist deswegen auch überflüssig)
2. das language-Attribut ist veraltet - type="text/javascript"
3. hier im Forum stellt man Code mit den [ code ] - tags dar (natürlich ohne Leerzeichen)



Ach und 4. onkeypress -> onkeydown ;)

EDIT: Doppelpost => bitte lieber SuperAdmin: löschen.
 
Zuletzt bearbeitet:
Hallo,

Erstmal vielen dank für die nachricht... es ist wirklich interessant was kleine details auf browser compatibility ausmachen, habe das script angepasst und jetzt wird das suchfenster nicht mehr geöffnet, das ist bereits ganz viel.
Wieder ein schritt weiter...
Jedoch
ich sehe jetzt das die Ctrl+Shift gedrückt wird aber empfänge noch immer nicht meine buchstabe. Wieso? Ich möchte ledichlich genau wissen welche buchstabe ich empfangen habe...

Anbei die angepasste code

[javascript]

<script type="text/javascript">

function keyPress (e) {

if (!e) e = window.event;

var kc = e.keyCode ? e.keyCode:e.which;
var sChar=String.fromCharCode(kc);

e.cancelBubble = true;

if (e.ctrlKey&&e.shiftKey) {
alert(sChar);
return false ;

}
}

var browserName=navigator.appName;
var browserNameResult = browserName.split(" ");
browserName = browserNameResult[0].toLowerCase() ;

if(browserName=="microsoft") document.onkeydown = keyPress;
else document.onkeypress = keyPress;

</script>
 
Also bei mir funktioniert's - du musst nur bedenken, dass er natürlich auch schon feuert, wenn nur Strg+Umsch gedrückt ist (bei mir wird dann so ein komisches Kreuz ausgegeben) - diesen alert wegklicken (Maus) während du strg+umsch gedrückt hältst - danach wird wunderbar jeder Buchstabe ausgegeben.
 
Zurück
Oben