Autor | Zpráva | ||
---|---|---|---|
nat Profil * |
#1 · Zasláno: 21. 12. 2007, 10:33:17
Zdravím,
stáhnul jsem si javascriptovou křížovku, která jde krásně upravit, ale řeším problém s psaním českých znaků. Dle mého názoru se o psaní znaků po stisknutí klávesy stará tento kód: oyCrosswordPuzzle.prototype.handleKeyPress=function(x,y,e){ if(!e){ e=window.event; } var _64=(e.which)?e.which:e.keyCode; var c=String.fromCharCode(_64).toUpperCase(); if(_64==32){ c=" "; } if(this.isValidChar(c)){ var _66=this.inputCache.getElement(x,y); if(!_66.readOnly){ _66.value=c.toUpperCase(); } this.moveToNextCell(x,y); } return false; }; Najde se někdo, kdo by věděl, jak tam vsunout podporu pro české znaky (ě š č ř ž ý á í é ó ů ú). V javascriptu jsem velmi mírně pokročilý. Předem děkuji za odpověď.. Nat |
||
nat Profil * |
#2 · Zasláno: 21. 12. 2007, 10:37:45
Ještě k tomu asi patří i kus tohoto kódu...
oyCrosswordPuzzle.prototype.isValidChar=function(c){ return (c>="A"&&c<="Z")||c==" "; }; |
||
nat Profil * |
#3 · Zasláno: 21. 12. 2007, 11:04:59
Na něco už jsem přišel, pokud by měl někdo lepší ideu sem s ní. Moje řešení je takové:
oyCrosswordPuzzle.prototype.isValidChar=function(c){ return (c>="A"&&c<="Z")||c==" "||c=="Ě"||c=="Š"||c=="Č"||c=="Ř"||c=="Ž" atd...; }; |
||
los Profil * |
#4 · Zasláno: 21. 12. 2007, 14:04:07
Na otestovanie toho, či je nejaký znak písmenkom, môžeš využiť to, že funkcie toUpperCase a toLowerCase pracujú aj s národnými znakmi.
Takže napr. nejako takto: oyCrosswordPuzzle.prototype.isValidChar = function(c) { return c.toUpperCase() != c.toLowerCase(); }; btw 1: Pre aký prípad tam je if(_64==32) c=" "? Keď je splnená táto podmienka, tak v premennej c už tá medzera predsa musí byť. Podobne pri priradení hodnoty c do _66.value je tam volanie toUpperCase navyše, pretože už sa to raz predtým volalo. |
||
peta Profil |
#5 · Zasláno: 21. 12. 2007, 14:05:04 · Upravil/a: peta
nat
cyklus prochazejici pole? jakpsatweb - javascript - cyklus var x,y,i; c = "Š"; x = "ESCRĚŠČŘ".split(""); y = false; for(i in x) {if (x[i]==c) {y=true;break;}} alert(y); http://www.volny.cz/peter.mlich/hry/ * osm.htm http://lusk.cz |
||
Nat Profil * |
#6 · Zasláno: 23. 12. 2007, 18:06:21
to los
tvůj kód funguje skvěle, navrhnu jej tvůrci jako vylepšení pro jiné jazyky. Add otázka k té mezeře. Bohužel netuším, ten kód má celkem asi 1300 řádků toto je jen výsek a je možné, že je to potřeba jinde. Každopádně děkuji i petovi za ponaučení o cyklu, Hezké svátky Nat |
||
Časová prodleva: 16 let
|
0