3 Stimmen

Wie deaktiviert man die Textauswahl in einer Tabelle in einer kniffligen Situation?

Ich habe eine grundlegende Tabelle, wie diese:

            Spalte 1
            Spalte 2

Auf den Zeilen habe ich eine Doppelklickfunktion mit jQuery:

$('tr').live('dblclick',function(){
    machEtwas();
    return false;
});

Ich habe auch ein Plugin namens tablednd, das die mousedown/up Funktion auf den Zeilen verwendet. Das Doppelklicken führt dazu, dass Text ausgewählt wird in den Zellen.

Wie kann ich das verhindern?

11voto

alex Punkte 457905

Sie können das select() Ereignis nicht verwenden, da es auf Eingabeelemente beschränkt ist.

Versuchen Sie stattdessen preventDefault() auf dem selectstart Ereignis...

$('tr').bind('selectstart', function(event) {
    event.preventDefault();
});

jsFiddle.

Alternativ können Sie CSS verwenden...

tr {
    -webkit-touch-callout: none;
    -webkit-user-select: none;
    -khtml-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    user-select: none;
}

0voto

teuneboon Punkte 4012

Versuchen Sie, es zu ändern

$('tr').live('dblclick',function(){
    macheEtwas();
    return false;
});

zu

$('tr').live('dblclick',function(e){
    e.preventDefault();
    macheEtwas();
    return false;
});

Dies sollte verhindern, dass der Doppelklick das tut, was der Browser standardmäßig tun würde. Sie sollten diesen Code jedoch in allen Browsern testen, da nicht sicher ist, ob er überall funktioniert.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X