Georg Patrzek: Frage zum Wiki-Artikel ‚Kontextmenü‘

problematische Seite

Kann man die Funktion „get_focused_element()“ ohne Wertverlust nicht etwas straffer codieren?

Mein Vorschlag:

    function get_focused_element() {
        var elements = document.getElementsByTagName("body")[0].getElementsByTagName("*");
        var focused_element = null;
        for (var i = 0, cl; i < elements.length; i++) {
            cl = elements[i].getBoundingClientRect();
            var x = cl.left, y = cl.top;
		if (cursorx > x && cursory > y && cursorx < x + cl.width && cursory < y + cl.height) {
              focused_element = elements[i];  
// an dieser Stelle kann die for-Schleife beendet werden, z.B. mit: break;  
// oder: return elements[i]  
            }
          }
          return focused_element;  
// wenn die for-Schleife mit return verlassen wurde: return null.  
// Dann entfällt auch die var focused_element
    }
  1. problematische Seite

    Servus!

    Kann man die Funktion „get_focused_element()“ ohne Wertverlust nicht etwas straffer codieren?

    Mein Vorschlag:

    Danke für dein Feedback. Man sieht es zwar nicht, aber auch die Verwendung einer Tabelle für das kontextmenü ist suboptimal. Hier könnte man evtl. ein Anwendungsbeispiel für das menu-Element draus machen.

    @Camping_RIDER hatte hier schon mal Ideen zu einem polyfill.

    Herzliche Grüße und frohe Weihnachten

    Matthias Scharwies

    1. problematische Seite

      Aloha ;)

      Danke für dein Feedback. Man sieht es zwar nicht, aber auch die Verwendung einer Tabelle für das kontextmenü ist suboptimal. Hier könnte man evtl. ein Anwendungsbeispiel für das menu-Element draus machen.

      @Camping_RIDER hatte hier schon mal Ideen zu einem polyfill.

      Ich werde mir die Sache irgendwann in den nächsten Tagen einmal anschauen (sind ja Ferien) - mal sehen was dabei rumkommt. Jedenfalls steht es hiermit auf meiner persönlichen To-Do-Liste.

      Grüße,

      RIDER

      --
      Camping_RIDER a.k.a. Riders Flame a.k.a. Janosch Zoller Erreichbar manchmal im Self-TS (ts.selfhtml.org) oder sonst - wenn online - auf dem eigenen TeamSpeak-Server (fritz.campingrider.de) oder unter: # Facebook # Twitter # Steam # YouTube # Self-Wiki # ch:? rl:| br:> n4:? ie:% mo:| va:) js:) de:> zu:) fl:( ss:| ls:[