Question

J'ai fait beaucoup de recherches à ce sujet, mais je suis incapable de résoudre ce problème. J'ai une div qui contient plusieurs div que je veux cacher avant de passer sur une instance de TinyMCE.

Je le fais via jQuery -

$(".drop").hide()

Cela fonctionne correctement et tous les moteurs de navigateur, sauf Trident (IE), les cachent. Si j’inspecte les éléments dans IE, le css indique "display: none".

J'ai trouvé quelques articles et des notes expliquant en quoi c'est une fonctionnalité d'IE permettant d'afficher ces éléments, y compris celui-ci sur MSDN: http://msdn.microsoft.com/en-us/library/aa770023 (VS.85) .aspx

Le problème est que j'ai besoin de ceux-ci pour me cacher. Des idées?

Était-ce utile?

La solution

En effet, à l'intérieur d'un élément éditable, tout ce qui est inclus dans IE, y compris les éléments masqués avec display: aucun, éditable. Vous ne pouvez rien y faire sauf retirer les éléments que vous souhaitez masquer du DOM de la page.

Il y a une référence à ce comportement d'IE ici: http://msdn.microsoft.com/en-us/library/aa770023%28VS.85%29.aspx

Autres conseils

Vous pouvez essayer d'appliquer un style qui définit l'affichage sur autre chose que néant, par exemple:

.drop
{
    display: block; // or inline
}

Cela semble être dû au fait qu'IE a besoin de l'élément "avoir la mise en page". afin de faire certaines opérations dessus, en se cachant comme l’un d’eux. Les éléments correspondant à un type d'affichage de bloc doivent avoir une disposition, c'est-à-dire qu'ils occupent de l'espace et obligent le navigateur à réorganiser les éléments frères autour de lui.

Autant que je me souvienne, tinyMCE utilise un iframe pour éditer et active le mode édition dans l'iframe. Ainsi, si vous êtes en mode édition avant de charger tinyMCE, êtes-vous sûr de devoir placer le document externe en mode édition?

Pour clarifier, essayez-vous d’affecter l’intérieur de l’iframe ou est-ce que tinyMCE charge du contenu contenant l’affichage: aucun

Si vous chargez du contenu avec display, vous devez prendre une solution de contournement consistant à supprimer les nœuds lors du chargement et à les réinsérer à la même position lors de la sauvegarde.

Le seul avantage que je puisse constater est que, dans d'autres navigateurs, vous supprimeriez inconsciemment les nœuds cachés en sélectionnant simplement du texte sur les deux côtés du nœud.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top