ugrás a tartalomhoz

onkeypress FireFox-ban diszkrét JavaScripttel

Anonymous · 2005. Már. 29. (K), 12.29
Üdv Mindenkinek,
kicsit dolgoztam a legutóbbi diszkrét javascript kódokkal, amik a cikkben jelentek meg és egy kérdésem lenne, nekem van egy régebbi kódom egy beviteli mezőnek a korlátozására, ami számokat engedélyez csak bevinni, ezt próbáltam átültetni diszkrét javascriptbe, de FireFox alatt nem akar működni, hiába ad vissza a függvény false értéket 1xűen kiírja a betűt, amit leütöttem?

Tudna vki segíteni ebben?
A kód:
  1. function doKeyListenNumeric(evt) {  
  2.   
  3.   evt || (evt = window.event);  
  4.   
  5.   var keyCode = evt.which ? evt.which : evt.keyCode;  
  6.   
  7.   if ( keyCode == 8 || keyCode == 46 || keyCode == 37 || keyCode == 39 || keyCode == 35 || keyCode == 36 || keyCode == 9) {  
  8.     return true;  
  9.   } else {  
  10.     return ((keyCode >= 47) && (keyCode <= 58));  
  11.   }  
  12. }  
Üdv
Sanyi
 
1

return false

Bártházi András · 2005. Már. 29. (K), 12.48
A return false esemény hozzárendeléskor nem működik, csak Internet Explorer alatt. Ebbe a hibába én is beleestem. A megoldást a Diszkrét Javascript cikk doPopup függvényében láthatod, a végén, az "eseménnyel mi foglalkoztunk, nem kell továbbvinni" blokkra lesz szükséged.

-boogie-
2

köszi

Anonymous · 2005. Már. 29. (K), 13.02
köszi szépen, közben én is átírtam és működik, kicsit jobban is odafigyelhettem volna a cikkre...:(

function doKeyListenNumeric(evt) {
evt || (evt = window.event);
var keyCode = evt.which ? evt.which : evt.keyCode;
if ( keyCode == 8 || keyCode == 46 || keyCode == 37 || keyCode == 39 || keyCode == 35 || keyCode == 36 || keyCode == 9) {
return true;
} else {
if (!((keyCode >= 47) && (keyCode <= 58))) {
if (evt.preventDefault) {
evt.preventDefault(); evt.stopPropagation();
} else {
evt.cancelBubble = true; evt.returnValue = false;
}
return false;
} else {
return true;
}
}
}
3

Hi

svan99 · 2005. Már. 29. (K), 21.39
Hi

kipróbáltam a kódot. Opera alatt nem megy nekem.. :( IE es Firefox O.K.
az OnKeyPress nem jó vagy mi lehet a rossz??
  1. function classNumeroHandler() {  
  2.   var elems=getElementsByClass('numero');  
  3.   for(i=0;i<elems.length;i++)   
  4.   {  
  5.       addEvent(elems[i],'keypress',doKeyListenNumeric);  
  6.   }  
  7. }  
Udv

ISTi
4

Opera

Bártházi András · 2005. Már. 29. (K), 21.42
Ki kellene debuggolni, bevallom, nekem még nem volt kedvem hozzá. Szerintem az addEvent nem megy.

-boogie-
5

addevent

svan99 · 2005. Már. 29. (K), 22.04
Az attachevent agban fut a program opera eseten. De ennel tovabb en sem jutottam. :(


oops kozben megtalaltam
nem a window hanem a document kell neki opera 7 eseten:

function addEvent(obj, evType, fn) {

if(typeof window.addEventListener != 'undefined')
{
//.. gecko, safari, konqueror and standard
window.addEventListener(evType, fn, true);
}
else if(typeof document.addEventListener != 'undefined')
{
//.. opera 7
alert("az");
document.addEventListener(evType, fn, false);
}
else if(typeof window.attachEvent != 'undefined')
{
//.. win/ie
window.attachEvent("on"+evType, fn);
}

}

Udv
ISTi
6

majdnemindenttudo addevent :)

svan99 · 2005. Már. 29. (K), 22.26
ez a vegeredmeny:
  1. function addEvent(obj, evType, fn) {  
  2.     if(typeof window.addEventListener != 'undefined')  
  3.     {  
  4.         //.. gecko, safari, konqueror and standard  
  5.         window.addEventListener(evType, fn, true);  
  6.     }  
  7.     else if(typeof document.addEventListener != 'undefined')  
  8.     {  
  9.         //.. opera 7  
  10.         document.addEventListener(evType, fn, false);  
  11.     }  
  12.     else if(typeof window.attachEvent != 'undefined')  
  13.     {  
  14.         //.. win/ie  
  15.         window.attachEvent("on"+evType, fn);  
  16.     }  
  17. }  
7

COLORER! COLORER! COLORER! :)))

Hodicska Gergely · 2005. Már. 30. (Sze), 00.51
Sziasztok!

Minden második hozzászólásba betettem a colorer taget. Hát nem jobban néznek ki? ;)
Bátorítok mindenkit a használatára.


Felhő
8

O.K. legkozelebb hasznalni

svan99 · 2005. Már. 30. (Sze), 08.12
O.K. legkozelebb hasznalni fogom :)