2012-12-07 5 views
4

Je crée un éditeur qui affiche une barre d'outils sur une sélection de texte. Le problème que je suis confronté dans IE est que le curseur clignotant montre encore au-dessus de la barre d'outils. Cela se passe spécifiquement dans IE. Le curseur clignotant vient au-dessus.IE8, IE9, IE10 Curseur clignotant Problème

Voici l'exemple de ce numéro:

$('.content').mouseup(function(e) { 
 
    $('.shy').css({ 
 
    top: e.pageY - 30 + 'px', 
 
    left: e.pageX - 30 + 'px' 
 
    }); 
 
    $('.shy').show(); 
 
});
.content { 
 
    height: 300px; 
 
    width: 300px; 
 
    border: 1px solid black; 
 
    overflow: hidden; 
 
    word-wrap: break-word; 
 
    z-index: 1; 
 
} 
 
.shy { 
 
    height: 100px; 
 
    width: 100px; 
 
    background-color: orange; 
 
    z-index: 2; 
 
    overflow: hidden; 
 
    word-wrap: break-word; 
 
    display: none; 
 
    position: absolute; 
 
}
<script src="http://code.jquery.com/jquery-1.8.3.js"></script> 
 
<div contenteditable="true" class='content'>Content Content Content Content Content Content Content Content Content Content Content Content Content Content Content Content Content Content Content Content Content Content Content Content Content Content Content Content Content Content Content Content</div> 
 
<div class='shy'> 
 
    <div>

En prenant l'accent sur est pas une option car il y a plus de composants dans cette application et ce correctif ne fonctionnera pas pour les situations . Le correctif doit être complètement autonome.

+0

Si vous ne pouvez pas manipuler la mise au point, alors vous pourriez être hors de la chance, car il semble s le curseur est contrôlé nativement par le navigateur, comme indiqué dans [cet exemple] (http://www.tek-tips.com/viewthread.cfm?qid=1597485) –

+0

@ZachEsposito: Oui, le focus semble être le seul option mais très mauvaise option. Cela signifie que je devrais faire la correction dans tous les autres composants qui viennent au-dessus du contenteditable. – pickhunter

Répondre

0

Il suffit d'ajouter

$('.shy').focus(); 

Et curseur s'arrêtera de clignoter sur IE7-IE10 (testé)

http://jsfiddle.net/2QAxk/6/

UDP1 Désolé ne trouvez pas votre mise à jour au sujet de 'focus' non été une option ...