Here is an answer for those who are looking for a keystroke evaluation
script that works in Internet Explorer (IE 5.5, 6.0, 7.0 for PC--IE
4.0, 5.2 for Mac), Mozilla Firefox (Windows, Linux, and Apple
Macintosh), Safari, Opera, and other off-brand web browsers.
I have gone through many groups trying to find code that didn't break
in Firefox--yet still worked in other browsers. Although many people
give input on this topic, few are correct in their handling of the
events to give the correct results across the board.
I am a Webmaster, and although I have worked with much JavaScript, I do
not claim to be an expert on this topic--so feel free to post any
improvements that you can make.
Here's the test code, this snippet designed to force numeric-only input
in any browser, with the exception of a couple keys that are still
needed for form navigation (such as Tab--although this can be tailored
to your needs by adding more exceptions):
---SNIP_01---
<script language="JavaScript">
function CheckNumericKeyInfo($char, $mozChar) {
if($mozChar != null) {// Look for a Mozilla-compatible browser
if(($mozChar >= 48 && $mozChar <= 57) || $mozChar == 0 || $char ==
8 || $mozChar == 13) $RetVal = true;
else {
$RetVal = false;
alert('Please enter a numeric value.');
}
}
else {// Must be an IE-compatible Browser
if(($char >= 48 && $char <= 57) || $char == 13) $RetVal = true;
else {
$RetVal = false;
alert('Please enter a numeric value.');
}
}
return $RetVal;
}
</script>
---END_01---
I have personally tested this on PC, Mac, and Linux systems in every
Web browser that I can get my hands on. It's far easier than the other
scripts that I've found, and you can just add "alert('keyCode: ' +
$char)" to find any other keycodes you might want to allow if you don't
know them off-hand. Obviously there is room to add a larger exception
list if you have need of it, and it might be better to just set $RetVal
to TRUE in the else and add an else if for IE, but my use didn't
require it.
I have a requirement to force the pageUp and pageDown keys to function the same as the arrowUp and arrowDown. I believe I'm ok with IE but have issues with setting the value for FireFox ...specifically line: evt.which=38; and line evt.which=40; -the "which" seems to only have a getter-
try{ if (window.document.addEventListener) { window.document.addEventListener("keydown", reviseKeyFunctions, false); }else{
What is the evaluation context of the setTimeout args below? I have a separate Timer instance for each sprite in my program. As coded, "this.Clock" doesn't work.
Don't you see that the whole aim of Newspeak is to narrow the range of thought? In the end we shall make thoughtcrime literally impossible, because there will be no words in which to express it.
I'm trying to figure out what key the user pressed using a Danish keyboard layout. charCodeAt returns the correct number, but event.keyCode returns a wrong number, when using one of the keys that are different on a Danish keyboard layout. "-" returns 45 and 189 respectively. Etc. (The input-field in the sample code below displays the right character).
I've tried setting the lang-parameter to 'da', but it doesn't make a difference.
Am I missing something, or is the event.keyCode in IE hardcoded to an english keyboard layout? Is there a way to automatically convert the event.keyCode so it corresponds with the users keyboard?
I am trying to use the jquery keydown event.I wan to fade in a div that is a form then when the user presses keycode 17 meaning control key this div and form will fade in at the center of the screen.here is the code I have:
This is in a php file and echoing the code. So the " " ignore it it's just saying to php that those are to be echoed as " " This code isn't working. I would press control key but no fade in occurs. I include this php file to all my websites webpages which are php files.
How to find the top 5 JavaScript obfuscation practices and tools? Are there tools able to combine multiple .js source files into one combined wholly obfuscated and hopefully compressed .js output file? Is it wise to obfuscate twice? and The top 5 CAPTCHA evaluation tools (don't necessary need to be javascript).
<script type="text/javascript"> var a,b,c,d; a = "x"; c = "kungfu"; b = "y"; d = "com"; document.write("<a href='mailto:" + a+b+"@"+c+"."+d+"'>eMail</a"); </script>
a safe way of hiding email address from spam bots? Or will they know javascript and produce the xy@kungfu.com ??
I am using jquery version 1.4.4 , i have read the release log said the Ajax have a big change. So do i need to change my ($.Ajax,$.post,$.get) code to make work with 1.5?
I want to save a bit of bandwidth and trouble by linking to scriptaculous and prototype on Google, a la:
CODE:
BUT, I would like to be able to specify a local copy of the scripts as a fail-safe alternative. Is there a simple HTML way to specify an alternate src property?
And I've tried searching, but "alternate script source" and various permutations just lead to useless HTML basics. ...and not the kind of basic HTML.
keyCode and which will get the same value, so anything different? <script> $(function() { $(window).keydown(function(e) { console.log(e.keyCode); console.log(e.which); }); }); </script>
I have a 3 textareas that when the user presses the spacebar I would like for the code to execute a TAB to move between them instead. My code works if I make the replacement keycode an number or letter but it wont work if I use TAB. The browser is IE. code...
I got this (piece of) script from 'DHTML Utopia - Modern Webdesign - Using Javascript & DOM'.
function aKeyWasPressed(e) { if (window.event) { var key = window.event.keyCode; } else { var key = e.keyCode; } alert('You pressed the key: ' + String.fromCharCode(key)); }
It is example of adding an eventlistener to a textarea. The events works alright, but when I press 'a' the alert gives me 'A', when I press Ǝ' I get 'h', when I press Ɔ' I get ''', when I press 'à' I get Ɔ', .... Has probably something to do with the fact that I don't live in the UK or USA. But it shouldn't matter; a key is a key.
Basically we are trying to simulate the tab key when the down arrow key is pressed. (we know there are other way to control focus flow but we use a lot of dynamic jsp fields, that will make the flow control a nightmare, we just want basic tabbing from the arrow key)
1)We are able to capture a onkeydown event and reasign it with another key value with no problem within an html document without a form.
example:
var ieKey = event.keyCode;
if (ieKey == 40) { event.keyCode = 9; }
however as soon as we insert a form tag in the document, this stops functioning. The asignment seems to be fine as an alert clearly shows, but the instruction seems to be ignored. Code:
I have an input field with onkeyup event that displays the code of the key the user pressed. The thing is, this works for all the keyboard buttons except for the ENTER key.
I need an event that checks if the size of a DIV has changed. The "resize" event works in IE but not in FF. Or, more precisely, The "resize" event works in FF but NOT for resizing DIVs. Is there an event that works like the "resize" event but also can be used in with DIVs in FF?
I am doing some showing and hiding of unordered lists for menus. I like CSS and so I swap the id of the unordered list to either show or hide the <ul>. The code works fine in Firefox but not in IE6. I start with the <ul> hidden using <ul id="SubMenu1Hide">. I attach the evens to the onmouseover and onmousout events. The bug happens in IE when I rollover the element with the event attached it does not show or disappear.
The <ul> seems to stay hidden like it is the default, it will never appear. Here is the weird thing. If I start with the id="SubMenu1Show" the menu shows as it is supposed to, stays visible when I mouseover and then disappears when I mouseout. It then continues to work as it is supposed to, appearing on rollover and disapearing on mouseout.
I want the submenus to all stack on top of each other on the page and be hidden by default then only show when you mouseover it's main menu heading. Here is the code:
I have come across a problem that seems common with firefox and the use of event. I have a simple javascript function which trys to determine the element that an event was acted upon:
Code:
This is called on click of a input:
Code:
This seems to work correctly for every browser except firefox. A quick search online and all the fixes seem to include:
Code:
But when I debug this function, neither e or event are defined, am i overlooking something really obvious?