2010-02-05 6 views

Répondre

1

Vous pouvez vérifier le petit échantillon de code à:

code de l'article ci-dessus:

function insertAtCursor(myField, myValue) { 

    if (document.selection) { 
    myField.focus(); 
    sel = document.selection.createRange(); 
    sel.text = myValue; 
    } 
    else if (myField.selectionStart || myField.selectionStart == '0') { 
    var startPos = myField.selectionStart; 
    var endPos = myField.selectionEnd; 

    myField.value = myField.value.substring(0, startPos) 
        + myValue 
        + myField.value.substring(endPos, myField.value.length); 
    } else { 
    myField.value += myValue; 
    } 
} 

// calling the function 
insertAtCursor(document.getElementById('textarea_id'), 'sometext'); 
+0

je veux insérer le texte dans le milieu, ne pas remplacer la chose –

+0

Désolé, pensé que vous vouliez dire le curseur de la souris! ... Permettez-moi de modifier mon message ... –

+0

Modifié. Testé ci-dessus dans Firefox. –

0

Utilisez un attribut HTML title? Cela placera le texte de l'info-bulle à côté du curseur lorsqu'il est sur un élément particulier.

Ou vous pouvez créer un <div> avec position: fixed puis positionnez-le à event.screenX, event.screenY:

<div id="tip" style="position: fixed; visibility: hidden;"></div> 
<textarea onmousemove="position();" onmouseout="hide();"></texarea> 
<script type="text/javascript"> 
    function position() { 
    var d = document.getElementById('tip'); 
    d.style.visibility = 'visible'; 
    d.style.left = event.screenX + 'px'; 
    d.style.top = event.screenX + 'py'; 
    } 
    function hide() { 
    document.getElementById('tip').style.visibility = 'hidden'; 
    } 
</script> 
+0

non ... je veux insérer du texte dans une zone de texte ... pas une info-bulle –

0

S'il vous plaît voir le code de this personhere. Ce code utilise la propriété selection de l'objet document pour obtenir la position du curseur, puis génère une nouvelle chaîne et l'insère dans la zone de texte. Il a également une routine spécialisée pour IE qui a une logique beaucoup plus encombrante pour trouver la position du curseur.

Questions connexes