Beim Schreiben zwischen dem Satz der contenteditable
div in JS Geige, Cursor Position ist Ende des Satzes.ContentEditable Div funktioniert nicht ordnungsgemäß in JS Geige
Antwort
Statt Timer-Ereignis, verwenden Sie die Taste nach oben. Ich habe nach dem Hochtasten auf Baumsekunden gewartet. Sie können es ändern, um die Verzögerung zu erhöhen oder zu verringern.
<script>
var changed, timer,
lastValue = '',
div = $('#ce'),
words = ['oele', 'geel', 'politie', 'foo bar'];
function markWords() {
var html = div.html().replace(/<\/?strong>/gi, ''),
text = html.replace(/<[^>]+>/g, ' ').replace(/\s+/g, ' '),
exp;
$.each(words, function(i, word) {
exp = new RegExp('\\b(' + word + ')\\b', 'gi');
html = html.replace(exp, function(m) {
// console.log('WORD MATCH:', m);
return '<strong>' + m + '</strong>';
});
});
//html = html.replace(' ', ' ').replace(/\s+/g, ' ');
//console.log('HTML:', html);
//console.log('----');
div.html(html);
}
//setInterval(function() {
// var html = div.html();
// if (lastValue !== html && html) {
//console.log(lastValue);
//console.log(html);
////console.log('----');
// lastValue = html;
// markWords();
// setEndOfContenteditable(div[0]);
// }
//}, 500);
$("#ce").on('keyup', function() {
clearTimeout(timer); //clear any running timeout on key up
timer = setTimeout(function() { //then give it a second to see if the user is finished
//do
var html = div.html();
if (lastValue !== html && html) {
// console.log(lastValue);
// console.log(html);
//console.log('----');
lastValue = html;
markWords();
setEndOfContenteditable(div[0]);
}
}, 3000);
});
function setEndOfContenteditable(contentEditableElement)
{
var range,selection;
if(document.createRange)//Firefox, Chrome, Opera, Safari, IE 9+
{
range = document.createRange();//Create a range (a range is a like the selection but invisible)
range.selectNodeContents(contentEditableElement);//Select the entire contents of the element with the range
range.collapse(false);//collapse the range to the end point. false means collapse to end rather than the start
selection = window.getSelection();//get the selection object (allows you to change selection)
selection.removeAllRanges();//remove any selections already made
selection.addRange(range);//make the range you have just created the visible selection
}
else if(document.selection)//IE 8 and lower
{
range = document.body.createTextRange();//Create a range (a range is a like the selection but invisible)
range.moveToElementText(contentEditableElement);//Select the entire contents of the element with the range
range.collapse(false);//collapse the range to the end point. false means collapse to end rather than the start
range.select();//Select the range (make it the visible selection
}
}
markWords();
setEndOfContenteditable(div[0]);
</script>
clearTimeout (Timer); ... hier Timer ist undefined – Jaya
Es wird zusammen mit anderen Variablen wie folgt definiert - var geändert, Timer, lastValue = '', div = $ ('# ce'), words = ['oele', 'geel ',' politie ',' foo bar ']; –
für alle 3 Sekunden wird die Cursorposition zum letzten des Satzes gehen. – Jaya
- 1. Click Event funktioniert nicht in contenteditable div
- 2. JS Geige. Gespeichert Code aber nicht funktioniert wie JSFiddle Beispiel
- 3. Chartjs Geige funktioniert nicht
- 4. Code von Geige funktioniert nicht lokal
- 5. Warum funktioniert meine Geige nicht?
- 6. contentEditable span - preventDefault funktioniert nicht
- 7. ionic2 contenteditable div funktioniert nicht in iOS-Geräten
- 8. Einfügen Mathjax in contentEditable div
- 9. HTML, CSS, JS - contentEditable div mit permanentem führenden Content
- 10. contenteditable div nicht wirklich editierbar in webkit
- 11. jquery - div basierend auf Auswahl ändern - funktioniert nur auf Geige
- 12. sendKeys an contentEditable div funktioniert nicht im Internet Explorer
- 13. Formular nicht ordnungsgemäß in angular js
- 14. Youtube Abonnement nicht ordnungsgemäß funktioniert
- 15. Animate.css nicht ordnungsgemäß funktioniert
- 16. ZIndex nicht ordnungsgemäß funktioniert
- 17. Contenteditable DIV length
- 18. Warum funktioniert diese Codequelle in Geige nicht auf meinem lokalen
- 19. contenteditable div nur akzeptieren Klartext
- 20. Kann Bild in contenteditable Div auf Android
- 21. JS/CSS Div Erweiterung funktioniert nicht
- 22. Text in Javascript einfügen contenteditable div
- 23. scrollToRowAtIndexPath funktioniert nicht ordnungsgemäß?
- 24. ContentEditable funktioniert nicht in Internet Explorer 11
- 25. comm.bcast nicht ordnungsgemäß funktioniert
- 26. event.target funktioniert nicht ordnungsgemäß in jQuery-Code
- 27. Ein ContentEditable-Div schreibgeschützt machen?
- 28. Meine angular js Direktive funktioniert nicht für append div
- 29. Get ausgewählten Text in ContentEditable DIV?
- 30. Joint js Rotation funktioniert nicht ordnungsgemäß mit benutzerdefinierten SVG-Elemente
Sie anrufen 'setInterval' Funktion jeweils 500ms ist, warum curson Position – azad
entfernt setInterval auch Ende geht ... es geht – Jaya
des Satzes zu beenden, wenn Sie setInterval entfernt, es wird nicht zu Ende des Satzes gehen – azad