2016-05-05 13 views
0

Ich mache eine Webseite und ich möchte den markierten Text erhalten. Problem ist, ich möchte etwas tun, wenn ein Benutzer Text überall innerhalb der Seite hervorhebt.Ziel gesamten Körper bei der Auswahl

Ich habe diese

$("body").select(function (e) { 
     alert("You selected: "+window.getSelection()); 
    }); 

hier https://jsfiddle.net/xn9mnmy1/

, aber es scheint nicht zu funktionieren.

Was könnte ich falsch machen ?. Gerade

+1

Mögliche Duplikat [? Kann ich Text mit JQuery hervorgehoben bekommen] (http://stackoverflow.com/questions/17227070/can-i-get-highlighted-text-with -jquery) – Vucko

+1

Es gibt kein 'select' Event. Versuchen Sie 'mouseup': https://jsfiddle.net/xn9mnmy1/1/ –

Antwort

-1

von the documentation:

Dieses Ereignis ist auf <input type="text"> Felder und <textarea> Boxen.

0
$('body').on('click', function(){ 

    var text = ""; 
    if (window.getSelection) { 
     text = window.getSelection().toString(); 
    } else if (document.selection && document.selection.type != "Control") { 
     text = document.selection.createRange().text; 
    } 

    alert(text);  
}); 

Quelle: Can I get highlighted text with JQuery?

0

die .click() Methode verwenden können Sie den ausgewählten Text als Warnung an den Benutzer senden.

Sie müssen sicherstellen, dass die ausgewählte Zeichenfolge nicht leer ist vor dem Aufruf alert() oder Sie erhalten eine Warnung jedes Mal, wenn Sie irgendwo klicken.

$('body').click(readText); 

function readText(){ 
    var text = window.getSelection().toString(); 
    if(text.length > 0){ 
      alert("You selected:\n" + text); 
     } 
} 

See: https://jsfiddle.net/r24b0dpv/

Verwandte Themen