Toon posts:

[js] Pointer overschrijven?(Misschien domme vraag)

Pagina: 1
Acties:

Verwijderd

Topicstarter
Hallo,

Kan iemand mij vertellen wat (0) doet achter sommige functies?
Bijvoorbeeld:
var pointer = window.opener.foo.document.selection.createRange()(0);

Wanneer ik dit doe en de regel ervoor:
var element = window.opener.foo.document.selection.createRange();

dan gaat het niet helemaal lekker en ik heb het idee dat een pointer overschreven wordt ofzo?

Misschien is het een domme vraag, maar hoe los ik dit op?

Ik ben bezig met een online editor en sta dan met mijn cursor in een cel. Nu wil ik de width van de cel weten waarin ik sta met mijn cursor.

Dit werkt niet:
code:
1
2
3
4
5
6
7
8
var pointer = window.opener.foo.document.selection.createRange()(0);
var element = window.opener.foo.document.selection.createRange()(1);
        
while ((pointer.tagName.toUpperCase(0) != 'TD') && (pointer.tagName.toUpperCase(0) != 'BODY'))
{
             element = element.parentElement;
}
alert(element.clientWidth); // De breedte alerten van de td..


Zie ik iets doms over het hoofd?

  • Clay
  • Registratie: Oktober 1999
  • Laatst online: 22-06 13:51

Clay

cookie erbij?

( ) voert in js een functie uit. een ( ) achter een andere ( ) geeft dus aan dat die eerste een functie terug moet geven. En dat is bij createRange niet het geval, dus dat werkt inderdaad niet.

JavaScript:
1
2
3
4
5
6
7
8
9
function getFunction() {
    return function() {
        return function() {
            alert('tja wat je eraan hebt')
        }
    }
}

getFunction()()();

dit werkt wel, omdat daar een reeks functies wordt teruggegeven. het html element van je createRange is wel te achterhalen, dat kan je oa opzoeken door met een for-loopje de properties van die range te bekijken. Ik dacht dat je van die range meteen het parentElement kon opvragen, al dan niet als functie.

Instagram | Flickr | "Let my music become battle cries" - Frédéric Chopin