[OPGELOST] onkeypress maar niet als je in een input of textarea bent

Overzicht Reageren

Sponsored by: Vacatures door Monsterboard

G P

G P

27/08/2012 16:01:01
Quote Anchor link
Ik heb volgend script:

Code (php)
PHP script in nieuw venster Selecteer het PHP script
1
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>
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?
Gewijzigd op 27/08/2012 17:00:25 door G P
 
PHP hulp

PHP hulp

25/11/2024 14:40:09
 
Wouter J

Wouter J

27/08/2012 16:24:32
Quote Anchor link
Ik heb dit bedacht:
Code (php)
PHP script in nieuw venster Selecteer het PHP script
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
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;
      }
    }
  };
  
};


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
 
G P

G P

27/08/2012 16:27:53
Quote Anchor link
DANK U WOUTER!!! Dit is wat ik wou :)
 



Overzicht Reageren

 
 

Om de gebruiksvriendelijkheid van onze website en diensten te optimaliseren maken wij gebruik van cookies. Deze cookies gebruiken wij voor functionaliteiten, analytische gegevens en marketing doeleinden. U vindt meer informatie in onze privacy statement.