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

Beitrag lesen

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
    }