2010-08-17 6 views
2

J'ai un conteneur de quelques divs HTML et avec un peu de CSS si je les survole, la couleur d'arrière-plan change. Je veux superposer une toile au-dessus du conteneur pour que je puisse dessiner des lignes. Le problème est que lorsque la toile est superposée, les changements de plan des divs ne fonctionnent plus. Existe-t-il un moyen de superposer un canevas mais les événements onmouseover CSS ou JavaScript fonctionnent-ils encore sur les éléments ci-dessous?Comment travailler avec des éléments HTML sous une toile

Répondre

3

Donc vous voulez un peu d'un canevas transparent qui passe tous les événements de la souris, sauf les clics sur les éléments derrière lui?

IMHO, vous auriez besoin d'utiliser JS pour cela: Capturez tous les événements sur le canevas, puis passez-les manuellement à la div derrière la toile. Si vous avez plusieurs divs, vous aurez besoin d'une sorte de recherche en fonction des coordonnées (x, y) de la souris.

0

Une alternative à tout ce tracas serait d'utiliser l'attribut CSS pointer-events. Mozilla, Webkit et IE6-8 (excanvas) tous supportent cela. L'opéra ne le fait pas, mais je m'en fiche vraiment.

<canvas style="pointer-events:none;"></canvas> 
Questions connexes