Ich verwende JQuery UI und Bootstrap, daher habe ich dieses Problem festgestellt und denke, dass es sich um einen Konflikt zwischen beiden handelt, da im Normalfall der Textbereich oder die eingegebene Eingabe von Natur aus bearbeitet werden kann. Ich habe diese Lösung jedoch nach dem Testen aller oben genannten Antworten, jedoch ohne, erstellt Lösen Sie die Cross-Browser-Unterstützung für alle gängigen Browser , aber ich habe sie gelöst und möchte meine Lösung teilen. Sie können sie für Eingabetexte und Textbereiche verwenden
(Getestet auf dem Desktop: IE (alle Versionen), Chrome, Safari, Windows Edge, Firefox, Visual Studio Cordova Ripple Viewer unter Windows und Visual Studio Cordova Windows 10 Store App)
(Getestet auf Mobilgeräten: Chrome, Firefox, Android-Internetbrowser und Visual Studio Cordova-App auf Android- und Visual Studio Cordova Windows 8 + 8.1 + 10-Telefon-App)
Dies ist der HTML-Code:
<textarea contenteditable id="textarea"></textarea>
Dies ist der CSS-Code:
textarea {
-webkit-user-select: text !important;
-khtml-user-select: text !important;
-moz-user-select: text !important;
-ms-user-select: text !important;
user-select: text !important;
background-color:#fff !important;
color:#733E27 !important;
}
Dies ist der JQuery-Code für Dokumente bereit
$("textarea").click(function() {
setTimeout(function(){
$("textarea").focus();
$("textarea").enableSelection();
var val = $("textarea").val();
if (val.charAt(val.length-1) !== " " && val.length !== 1) {
alert(val.length);
val += " ";
}
$("textarea").val(val);
}, 0);
});
if (navigator.userAgent.indexOf('Safari') !== -1 || navigator.userAgent.indexOf('Chrome') !== -1) {
$("textarea").onfocus(function(e) {
setTimeout(function(){
var end;
if ($("textarea").val === "") {
end = 0;
} else {
end = $("textarea").val.length;
}
if ($("textarea").setSelectionRange) {
var range = document.getElementById('textarea').createTextRange();
if (range) {
setTimeout(range, 0, [end, end]);
} else {
var aRange = document.getElementById('textarea').createTextRange();
aRange.collapse(true);
aRange.moveEnd('character', end);
aRange.moveStart('character', end);
aRange.select();
}
}
e.preventDefault();
return false;
}, 0);
});
}
Sie können es in meiner Webanwendung unter www.gahwehsada.com testen