29. oktober 2003 - 20:43Der er
12 kommentarer og 1 løsning
ContentEditable +dynamiske buttons
Hei, I contenteditable mode, hvordan kan jeg gjøre mine tabell celle operasjoner(add,delete osv) buttons aktive når brukeren har plasert markøren inne i en celle.
lav en onbeforeeditfocus event på dit contenteditable element ... i den fundtion får du fat i en TextRange ud fra det sted hcor markøren står ...
lav en funktion som via en parameter får TextRange'ns parentElement - check dette elements nodeName .. er det TD så stop og aktiver dine knapper, hvis ikke forsæt med brug af node.parentNode recurisiv op gennemtræet til du støder på ed TD-node..
Jeg har ikke selv fundet en mere optimal funktion ... så hvis du hitter ud af noget hører jeg gerne om det :)
Så tæller man naturligvis rekursivt op gennem træet, til en <td> nåes. Men man slipper stadig med en betydelig enklere løsning end, hvis man ustandselig skal oprette et hav af textRanges.
Ikke mindst kan det have væsentlig betydning i større JS-applikationer (som f.eks. et avanceret CMS) - og ikke mindst i IE, som jo er herostratisk berømt for sin elendige garbage-collection :) /mvh
Ehhhhh ...... hvordan i alverden ville du lave en løsning, uden at kende resten af koden? Det burde vel ikke være et problem, når der er en global variabel at spørge på :o) /mvh
så lad os kalde det et løsningsforslag ... og kun stilet til dette isolerede spørgsmål ... resten af koden eller hele applikationen kender jeg seføli ingenting til
Sånn smirnoff, ditt svar er akseptert, løsningen din fungerer bra så langt ;-)
Synes godt om
Ny brugerNybegynder
Din løsning...
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.