12 Stimmen

HTML-Tabelle, wenn ich Strg+klicke, erscheint der Rand der Zelle?

Ich habe einen Onclick-Listener auf das Zeilenelement einer Tabelle gesetzt, aber wenn ich auf eine Zeile klicke (während ich die Strg-Taste drücke), erscheint ein Rahmen um die Zelle, auf die ich geklickt habe.

Gibt es eine Möglichkeit, dies zu verhindern?

1 Stimmen

Das hängt von html, css und JavaScript ab, die Sie verwenden. Wenn Sie diese posten können (oder eine Live-Demo zur Reproduktion Ihres Problems auf JS-Fiedel , oder JS-Behälter ) würde es uns helfen, Ihnen zu helfen.

12voto

no.good.at.coding Punkte 19983

Ich glaube, Sie stoßen auf etwas, das Firefox standardmäßig für Tabellen verwendet.

Dieser Schnipsel, den ich irgendwo gefunden habe, funktioniert bei mir:

$('table').mousedown(function (event) {
    if (event.ctrlKey) {
        event.preventDefault();
    }
});

0 Stimmen

Beachten Sie, dass die Lösung von @casablanca das Problem der blauen Umrandung beheben wird. Aber sie verhindert auch, dass Sie den Inhalt der Tabelle auswählen können, was Sie vielleicht möchten. Wenn Sie stattdessen eine selektive Rückgabe von false (oder rufen Sie preventDefault() ) nur, wenn die STRG-Taste gedrückt wird, sollten Sie hoffentlich etwas haben, das das tut, was Sie brauchen.

9voto

stu Punkte 182

Ich habe diese Frage gefunden, als ich selbst nach der Lösung suchte. Ich dachte, ich würde teilen, was ich anderswo gefunden habe, die den Trick zu tun scheint. Hinweis - dies ist ein Firefox-Problem.

Die Lösung ist, "-moz-user-select: none;" für Tabellenelemente hinzuzufügen, die dieses Verhalten deaktivieren sollen.

gefunden bei http://support.mozilla.org/en-US/questions/763547

5voto

casablanca Punkte 68114

Dies ist eine Funktion des Browsers, die es dem Benutzer ermöglicht, mehrere Zellen/Zeilen einer Tabelle auszuwählen - Sie können dies nicht spezifisch deaktivieren, aber Sie können die Auswahl insgesamt durch Überfüllen von onmousedown und die Rückkehr false im Handler.

0 Stimmen

Das Problem ist, dass ich in der Lage sein muss, die gesamte Zeile für die Arbeit, die ich tue, auszuwählen, also nehme ich an, dass dies nicht funktionieren würde?

0 Stimmen

@Tom: Die Lösung von @no.good.at.coding könnte besser funktionieren - Sie können auf die Strg-Taste prüfen, bevor Sie false zurückgeben.

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