webForumDet fria alternativet

Onclick på element (inkl nyligen skapade)

2 svar · 286 visningar · startad av Troxy

TroxyMedlem sedan mars 20041 508 inlägg
#1

Än en gång svårt att sätta rubrik på en tråd. :p
Jag har en Javascript-funktion som jag vill anropa varje gång någon klickar på en dt-tagg.

Det jobbiga är när det skapas nya dt-taggar dynamiskt lite här och där i olika scripts med hjälp av appendChild().
Då måste man ju registrera onclick-event för alla nya taggar som skapas också.
Det blir jobbigt att behöva redigera massa scripts för detta.

Därför undrar jag om man kan bygga någon sorts "global" onclick-handler som är helt skoningslös :P dvs. den ligger och sniffar varje gång man klickar och känner av om det är en dt-tagg man klickar på. Om ja, kör min funktion!

Tacksam för svar :)

colioneMedlem sedan juni 20013 386 inlägg
#2

Det är ingen omöjlig funktion.

Du skulle kunna kolla på zcorpans inlägg i denna tråd och bygga från den. :)

http://www.webforum.nu/showthread.php?p=1312438#post1312438

TroxyMedlem sedan mars 20041 508 inlägg
#3

colione, tack för tipset :D (creds till zcorpan också ;))
Jag hade spanat lite på target och srcElement, men fick problem när andra element låg ovanpå min dt-tagg.
Men zcorpans while-loop löste detta!

document.onclick = function(e) {
  var e = e || window.event;
  var target = e.target || e.srcElement;
  while (target.tagName != "DT" && target.parentNode) {
    target = target.parentNode;
  }
  if (target.tagName == "DT") {
     //gör något
  }
}
Genererad på 380 ms · cache AV · v20260730165559-full.f96bc7eb