2010-10-17 6 views
1

J'ai un document HTML qui llokes comme ceci:Jquery: le code d'exécution lorsque le texte est sélectionné

<div class="this_can_be_selected">Some text here</div> 
<div>No text in the div above is selected</div> 

<div class="this_can_be_selected">Some text here</div> 
<div>No text in the div above is selected</div> 

<div class="this_can_be_selected">Some text here</div> 
<div>No text in the div above is selected</div> 

Je veux texte No text in the div above is selected à modifier à Some text in the div above is selected quand, devinez quoi, une partie du texte dans la div ci-dessus est sélectionné :)

jQuery a un .select() event, cela rendrait cela plutôt facile à faire, mais il semble que cela fonctionne lorsque le texte sélectionné est à l'intérieur d'une entrée ou d'une zone de texte.

Voici un code que j'ai essayé:

$(document).ready(function() 
    { 

     //Some text inside div is selected 
     $('DIV.this_can_be_selected').select 
     (
      function() 
      { 
       alert('Something is selected!'); 
       $(this).next().html('Some text in the div above is selected'); 
      } 
     ); 

    } 
); 

Rien ne se passe.

Existe-t-il un moyen de résoudre ce problème?

Répondre

4

jQuery core n'a rien pour cela, mais il y a some plugin options.

Votre code ressemblerait à ceci:

$(function() { 
    $(document).bind('textselect', function(e) { 
    alert('Selected Text: ' + e.text); 
    });  
}); 

You can test it out here.

+0

Merci! Ça a fait l'affaire! –

Questions connexes