2009-06-27 3 views
1

I habe mehr (etwas) überlappende div s, und wenn der Benutzer auf einen Teil des Überlappungs anklickt, mag ich ein mousedown Ereignis (oder einen ähnlichen Rückruf) für jeden div, die unterhalb den Mauskoordinaten sind.Wie generiert man mehrere mousedown-Ereignisse mit überlappenden Objekten in jQuery?

Der Standard Weg, natürlich erzeugt nur einen Rückruf für die oberste div. Ist das möglich?

+0

Der einzige Weg, der für alle divs auf der Seite und prüfen, ob ein Teil von ihnen innerhalb der Grenzen des Mausklick zu suchen wäre in dem Sinne kommt, aber das wäre schrecklich ineffizient sein . –

+0

Ja, ich habe darüber nachgedacht. Aber muss das Mousedown-Event nicht funktionieren? –

+0

Ich stimme Dans Kommentar zu, das ist die einzige Möglichkeit, die ich mir vorstellen kann. Einige Informationen zum Event Capture/Bubble hier http://is.gd/1fQbE. Ich schätze, du könntest jedes divs co-ords in einem Objekt speichern (update wenn sie sich bewegen) und sie auf diese Weise durchlaufen, könnte die Dinge beschleunigen, anstatt durch alle divs zu gehen und jedesmal die co-ords zu finden. Das ist, wie ich es angehen würde, denke ich. – Nooshu

Antwort

2

Am Ende zeichnete ich ein großes (leeres) div über alles, speicherte die Position jedes kleineren Kerls und behandelte dann das mousedown Ereignis vom großen div und verteilte es an die Kleinen.

Es ist ein wenig besser als durch alle divs auf der Seite zu durchlaufen, weil es eine Struktur gibt, wo sie sind, so dass die Suche schneller ist.

Verwandte Themen