Frage

Nachdem ich benutzt habe .select() Um den Text im Eingabefeld auszuwählen, wenn ich überholte, habe ich Folgendes gemacht:

HTML:

<input type="text" class="hoverAble" value="hover here"/><br />

JQuery:

$(".hoverAble").mouseenter(function() {

    this.select();

}).mouseleave(function() {

    //I can't figure what to put here.
});

Sehen hier. Warnung dafür, dass es korrekt funktioniert (in JSFiddle) Sie müssen einmal im Ergebnisrahmen klicken.

Die Hauptidee ist mouseleave arbeitet als wie erwartet Auch.

Wie Sie vielleicht bemerkt haben, kann ich keinen Weg finden, den Text auszuwählen, wenn Sie ausgehen und dies vermeiden:

enter image description here

War es hilfreich?

Andere Tipps

Wenn Sie JQuery verwenden, verwenden Sie Blur ().

$(this).blur();

In diesem Fall ist Blur () nur Unfokus aus dem Eingabetxt, und obwohl er das Erscheinungsbild gibt, wird der Text nicht mehr ausgewählt, er wird noch ausgewählt. Um jeden Text wirklich abzuwählen, würden Sie dies tun:

$(".hoverAble").mouseenter(function() {
    this.select();
}).mouseleave(function() {
    $(this).prop('selectionStart', 0).prop('selectionEnd',0).blur();
});

Das funktioniert:

$(".hoverAble").hover(function() {

    $(this).select();
    $(this).after("<input type='text' style='height:0;width:0;border:0;padding:0;margin:0;' id='tmp_hidden' />");

}, function(){

    $("#tmp_hidden").select().remove();

});

Es sollte einen besseren Weg geben, es zu lösen.

EDIT: Natürlich gibt es blur().

input.hover(function(){$(this).select();}, function(){$(this).val($(this).val());});

Wenn Sie JQuery verwenden, können Sie eines der vielen Plugins für die Abwahl oder Einstellung der Pflegeposition nach Ihren Anforderungen probieren, z. B. nach Ihren Anforderungen, z. B. nach Ihren Anforderungen Dieses hier. Wenn Sie dies nicht tun, können Sie das reine JavaScript dieser Plugins aufgrund der Open-Source-Liden immer noch verwenden

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top