English | Magyar
JS ki | CSS ki | Ékezetek ki | HiContrast
Lapozó:  (0 - 1428) 
<== | ==>
Ugrás a végére | Összes megjelenítése | Utolsó oldal
OpenOpera patches | Opera-SSL patches | Opera 12.15 source (Git repository) | Opera 12.15 source (Torrent) | Opera internal pages | Otter Browser Linux x64 - Qt5.15.2/QtWebKit5.602.1 (2024.12.02. 21:02)
OS for MC680x0 | OS for PPC | OS for Sparc64 | besztofbégéaefcé | CSÉNDZSLOG | WebToolz | DDG Shit Filter | Google Shit Filter | Progz | Fast CSS Box | Browser | OS | Agent | Statisztika | BBCode
Monospace font-family: Courier New | Browser default monospace
Email értesítő / Email notification ===> 
Keresés
Σ: 1 post

TCH  (statz) Főfasz
#1, Főfasz (10466)
5459 | #542c | ^ | Idézet | Wed, 06 Oct 2021 19:55:52 +02
178.164.*.* Linux x86 Opera Classic Hungary *.pool.digikabel.hu
Áááá, dehogy, hova gondolsz... :P
Get cursor position in input type number = Mission: Impossible?

Kezdetben vala az text típusú input. A különféle number-only szövegmezőket ezzel és egy sereg jávaszkriptes taknyolással oldották meg, mert nem vala más megoldás. Aztán eljövé az Úr 2008-as esztendeje és vele együtt az HTML5, benne sok baromsággal, de jó dolgokkal is. Ezek közé tartozott a number típusú input, ami a beállítható intervallumával, lépésközével jelentősen lecsökkenté vala az szükséges jávaszkriptes gányolások mennyiségét. Külön jó a mező végébe suvasztott kis léptető, ami olykor még hasznos is bír lenni (egy egérkattintással gyorsabban lehet mondjuk 999-ről 1000-re ugrasztani valamit, mint a kitörléssel és újra beírással), de ha nem az, legalább lekapcsolható. És még jobb, hogy mobilokon ebbe kattintva alapból a numerikus billentyűzet jön fel. Sajnos az okos emberek kifelejtették vala az sima integer típusú input-ot a repertoárból, így ha azt akará vala az büdös programmere, hogy ne is fogadja el a mező (értsd: be se lehessen írni) pl. a pontot, vagy az "e" betűt, mínuszjelet meg csak egyet az elejére (nem, a pattern ezt nem gátolja meg), akkor ahhoz ismét jávaszkript kellett, de legalább megoldható vala vele.

Aztán eltelé pár év, eljőve 2014 és publikálóda az HTML5 2014 edisön, benne az, hogy a number - és jópár egyéb - típusú mezőkön a selectionStart és a selectionEnd ne legyen használható, mert csak, mert ezt főzték ki a marha okosok az büdös internyetes "szabvány""hivatalban". Igaz, hogy több mint egy fél évtizede tökéletesen működik, de ez így akkor sem jó és punktum. Indoklás nincs, csak az, hogy "do not apply".
És az nagy brózergyártók ugornak vala és implementálák izibe ezt a kozmikus méretű baromságot és sok-sok webkóder hirtelen beszopá az nagy digitális faszt, mert bedöglék az kódja vala. Megreklamálák eztet vala az nagy brózergyártóknál (pl. Chrome #1, Chrome #2, Firefox #1, Firefox #2), de csak kapák az egy darab egyujjas nemzetközi jelzést, hogy ez pedig innentől nem támogatott, mert csak és kész; indoklás - hogy mitől jobb ez így, miért kell ezt így, ha eddig működött - doszta nincs. Kuss vagyon, köcsög júzerek.

Engem eddig megkímélt a sors attól, hogy ezzel kelljen szívnom, hogy number típusú mezőkben kijelöléssel kelljen bíbelődnöm, de most ez a perc is elérkezett. A keresgetés nem sok eredményt hozott, mindenütt azt javasolják, hogy használj text típusút és írd meg hozzá a jávaszkriptes gányolásaidat, mint a 2008 - és a HTML5 - előtti régi, de ebből a szempontból nem annyira szép időkben. Csudálatos mire képes manapság ez a fejlett technika.

Aztán beleakadtam egy olyan tippbe, hogy át kell állítani a mező típusát text-re, lekérni, majd visszaállítani. Ezt kipróbáltam, de sajnos az átállítás után annyi volt a különbség, hogy a selectionStart és selectionEnd már nem null volt, hanem nulla, függetlenül a kurzor pozíciójától és a kijelöléstől. Aztán kattant valami az agyamnak hívott szartenger mélyén és kipróbáltam, hogy mi történik, ha megvárom, hogy "beálljon" a mező. Nullás várakoztatási idővel meghívott setTimeout-ba raktam a type lecserélése utáni részt és hirtelen meggyógyult, működni kezdett én meg örülni kezdtem, hogy sikerült kicselezni ezt a baromságot.
Hittem én nagy naívan, ugyanis a túloldalt üldögélő Sanyi szólt, hogy neki viszont nem megy. A nálam lévő Ungoogled Chromium 73-assal ez a snippet még tökéletesen működik, de a nála lévő kilencvenvalahanyas Chrome-ban a type lecserélése a kurzornak a nulladik pozícióba ugrását eredményezi, holott ezt senki nem kérte és a v73-ban még nem is csinálta. (Firefoxban (Pale Moon-ban/IceWeasel-ben) ugyanez történik, de ott a jelek szerint ez már régebben is így volt, hogy a típus lecserélése elugrasztja a kurzort.)

A szomorú az egészben, hogy igazából tényleg nem lehet megindokolni semmivel, mert leimplementálhatatlanságról nem beszélhetünk, ha korábban már működött és a működés fizikai megszűnéséről sem beszélhetünk, hiszen a kurzor és a kijelölés, valamint a copy/paste továbbra is megy ezeken a mezőkön, sőt átkapcsolva text-re továbbra is lekérdezhető, tehát a mechanizmus a motorban nem szűnt meg. Csak letiltották a hozzáférést. És ennek se értelme, se haszna.
Így csak egy dolgot értek el: még több jávaszkriptet, mert nem elég, hogy vissza kell térni a régi text típusú input-tal való taknyoláshoz, de mindezt úgy, hogy a webes fejlesztői kultúra viszont már nem a régi, így azt, amit 15 éve pár kB-nyi natúr JS kódból megoldottak, ahhoz ma betöltenek több MB-nyi JS framework-öt...

És mindezt úgy, hogy a HTML5 nem szabvány, hanem ajánlás, tehát a kutya nem kötelezte őket erre. Júzerszopatás as a Service. Na, ebből is csak a hardwaregyárak profitálnak, hogy a webet beborítja a szutyokszkript bloated szennye.


English | Magyar
JS ki | CSS ki | Ékezetek ki | HiContrast
Lapozó:  (0 - 1428) 
<== | ==>
Ugrás a végére | Összes megjelenítése | Utolsó oldal
OpenOpera patches | Opera-SSL patches | Opera 12.15 source (Git repository) | Opera 12.15 source (Torrent) | Opera internal pages | Otter Browser Linux x64 - Qt5.15.2/QtWebKit5.602.1 (2024.12.02. 21:02)
OS for MC680x0 | OS for PPC | OS for Sparc64 | besztofbégéaefcé | CSÉNDZSLOG | WebToolz | DDG Shit Filter | Google Shit Filter | Progz | Fast CSS Box | Browser | OS | Agent | Statisztika | BBCode
Monospace font-family: Courier New | Browser default monospace
Email értesítő / Email notification ===> 
Keresés

Név: (max 255 byte)

Email: (max 255 byte) Nem kötelező!

Üzenet: (max 65536 kar.) 65536-0=65536




crap_vkn v4.34.0 by TCH
Thx to saxus for the escaped string decoder function (PHP), the realIP function (PHP) & the SQL handle layer (PHP), to thookerov for the int_divide function (PHP), to Jeff Anderson for the getSelText function (JS), to Alex King for the insertAtCursor function (JS), Flood3r for the new CSS styles, Pety for the spamprotection idea and some design and comfort ideas, MaxMind for the IP2Country database, famfamfam for the flags of countries and an unknown PHP programmer for the removeAccents function.



Kecskebaszók ide!