Firefox extension element clicked

Pagina: 1
Acties:

Onderwerpen


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Ik ben bezig met een firefox extension en hij begint aardig op te schieten.

Mis nu echter nog een optie en dat is dat ik ga zou willen achterhalen op welk element ik geklikt heb. Eventueel ook graag daar het ID van.

Ik heb op internet wel gevonden hoe ik het met javascript kan doen, maar deze werk niet in een extension (logisch).

Hoe kan je dit het beste aanpakken, want window.event is niet bekend.

Gebruik ik window._content.event werkt het ook niet.

window._event ook niet... waarschijnlijk zit ik in de verkeerde richting..

wie kan mij het goede zetje geven dank je wel

Acties:
  • 0 Henk 'm!

  • Kalentum
  • Registratie: Juni 2004
  • Laatst online: 21:25
Geen antwoord op je vraag... maar je zult toch echt javascript moeten gebruiken. Een Firefox extension wordt in Javascript geschreven. Dus je zit misschien al op de goede weg

Acties:
  • 0 Henk 'm!

  • Feanathiel
  • Registratie: Juni 2007
  • Niet online

Feanathiel

Cup<Coffee>

Zolang je toegang tot document en/of window hebt, dan moet het niet zo'n probleem zijn. Wanneer er een listener aan toegevoegd zal worden, zal dit ook meteen een event bij zich dragen.

JavaScript:
1
document.addEventListener("click", function(event) { /* Doe iets */ }, true);


Kijk anders ook eens hoe dit bij firebug gedaan is. De svn repository hiervan is te vinden onder het volgende adres: http://fbug.googlecode.com/svn/trunk/

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Dank je hiermee ben ik al een heel eindje

Hij is alleen heel precies :)

ik heb nu de code

code:
1
event.target.tagName


daarmee krijg ik de naam van het element waarop geklikt is, zelfs in het iframe.

Ik zou graag weten of ik in het iframe zit ja of nee, heb met currentTarget en relatedTarget geprobeerd maar dat werkt niet...

ga ook nog spitten in de svn...

Acties:
  • 0 Henk 'm!

  • Guillome
  • Registratie: Januari 2001
  • Niet online

Guillome

test

Iets van
JavaScript:
1
2
3
var o = event.target;
While (o && o.parentNode && o.tagName.strToLower() != "iframe") o = o.parentNode;
return o.tagName.strToLower() == "iframe";

If then else matters! - I5 12600KF, Asus Tuf GT501, Asus Tuf OC 3080, Asus Tuf Gaming H670 Pro, 48GB, Corsair RM850X PSU, SN850 1TB, Arctic Liquid Freezer 280, ASUS RT-AX1800U router