[OPGELOST] onkeypress maar niet als je in een input of textarea bent
G P
27/08/2012 16:01:01Ik heb volgend script:
Bij deze code ga je naar een URL als A ingedrukt wordt MAAR (en nu komt het) Als mijn focus op een input of een textarea is mag die A NIET werken.
Hoe doe ik dit?
Code (php)
1
2
3
4
5
6
7
8
9
10
11
2
3
4
5
6
7
8
9
10
11
<script type="text/javascript">
function getKey(e){
var obj = window.event ? event : e;
var unicode = obj.charCode ? obj.charCode : obj.keyCode;
var actualkey = String.fromCharCode(unicode);
if (actualkey == "A"){
window.location.href = 'naar_url';
}
}
document.onkeypress=getKey;
</script>
function getKey(e){
var obj = window.event ? event : e;
var unicode = obj.charCode ? obj.charCode : obj.keyCode;
var actualkey = String.fromCharCode(unicode);
if (actualkey == "A"){
window.location.href = 'naar_url';
}
}
document.onkeypress=getKey;
</script>
Hoe doe ik dit?
Gewijzigd op 27/08/2012 17:00:25 door G P
PHP hulp
25/11/2024 14:40:09Wouter J
27/08/2012 16:24:32Ik heb dit bedacht:
Werkt in Chrome, Safari, Opera en IE9+. De variabele ingoreKeyupElement kan eventueel worden aangevuld met meer elementen.
Live voorbeeld: http://jsbin.com/asalox/1
Code (php)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
window.onload = function() {
var ignoreKeyupElements = {
'TEXTAREA' : null,
'INPUT' : null
};
document.onkeyup = function(e) {
window.event && (e = window.event);
if (e.target.nodeName in ignoreKeyupElements) {
e.preventDefault();
return false;
} else {
switch (String.fromCharCode(e.keyCode)) {
case 'A':
window.location = 'http://phphulp.nl';
break;
case 'B':
window.location = 'http://google.nl';
break;
}
}
};
};
var ignoreKeyupElements = {
'TEXTAREA' : null,
'INPUT' : null
};
document.onkeyup = function(e) {
window.event && (e = window.event);
if (e.target.nodeName in ignoreKeyupElements) {
e.preventDefault();
return false;
} else {
switch (String.fromCharCode(e.keyCode)) {
case 'A':
window.location = 'http://phphulp.nl';
break;
case 'B':
window.location = 'http://google.nl';
break;
}
}
};
};
Werkt in Chrome, Safari, Opera en IE9+. De variabele ingoreKeyupElement kan eventueel worden aangevuld met meer elementen.
Live voorbeeld: http://jsbin.com/asalox/1
Gewijzigd op 27/08/2012 16:24:47 door Wouter J