retourner focus à contenteditable après execCommand?
J'ai le code suivant démontrant contenteditable de la propriété et un bouton qui permettra d'injecter le texte en gras dans le paragraphe avec contenteditable zone. Ma question est de savoir comment rendre le focus à l'endroit où j'ai laissé après avoir cliqué sur le gras, si vous mettez du texte, et cliquez sur gras, il va en gras ceux de texte, mais l'accent ne sera plus là. Même chose se produit si vous ne sélectionnez rien et cliquez sur gras, l'accent sera disparu et si vous cliquez à l'endroit où vous l'avez laissé encore une fois, vous pouvez taper des caractères gras textes.
Merci beaucoup pour votre aide!
<head>
<style type="text/css">
#container{
width:500;
}
.handle{
float:left;
}
</style>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jquery/1.3.2/jquery.min.js"></script>
<script type="text/javascript" src="http://ajax.googleapis.com/ajax/libs/jqueryui/1.7.2/jquery-ui.min.js"></script>
<script type="text/javascript">
$(function(){
$('#bold').click(function (){
document.execCommand('bold', false, true);
});
});
</script>
</head>
<button id="bold">Bold</button>
<div id="container">
<div class="c"><p contenteditable>Some text here asdf asdf asdf asdf asdf asd fasd fsa dfsa df asdf sadf sa dfa sdf sadf asd fsa df sadf asdf asdf asd fas df asdf as </p></div>
<div class="c"><p contenteditable>Some text here asdf asdf asdf asdf asdf asd fasd fsa dfsa df asdf sadf sa dfa sdf sadf asd fsa df sadf asdf asdf asd fas df asdf as </p></div>
</div>
source d'informationauteur FurtiveFelon
Vous devez vous connecter pour publier un commentaire.
QUE VOUS DEVEZ UTILISER .contenu()
Vous pouvez simplement utiliser le jQuery .focus() la fonction de discussion. Cela devrait fonctionner:
Ce juste garde la trace de l'actuel champ d'édition à chaque fois qu'il est porté par l'utilisateur, et lorsque le gras bouton est cliqué, l'accent est mis dans ce champ.
HTML:
JavaScript:
Reportez-vous cela peut vous aider:
https://developer.mozilla.org/en/Rich-Text_Editing_in_Mozilla
Vous pouvez stocker la dernière cliqué sur un élément dans une variable et ensuite appeler .focus() après l' .execCommand a été exécuté.
Quelque chose comme ceci, je suppose:
De cette façon, vous pouvez également supprimer le
"contenteditable"
de l'attribut de la balise...HTH
Si vous êtes dans une iframe, appeler focus() sur l'affichage par défaut.