Bläddra i källkod

protect from exceptions in selected range + focus before insert image

Artal Druk 8 år sedan
förälder
incheckning
9ca270f842
1 ändrade filer med 12 tillägg och 7 borttagningar
  1. 12
    7
      src/ZSSRichTextEditor/ZSSRichTextEditor.js

+ 12
- 7
src/ZSSRichTextEditor/ZSSRichTextEditor.js Visa fil

@@ -204,17 +204,21 @@ zss_editor.calculateEditorHeightWithCaretPosition = function(editorId) {
204 204
 
205 205
 zss_editor.backuprange = function(){
206 206
     var selection = window.getSelection();
207
-    var range = selection.getRangeAt(0);
208
-    zss_editor.currentSelection = {"startContainer": range.startContainer, "startOffset":range.startOffset,"endContainer":range.endContainer, "endOffset":range.endOffset};
207
+    if(selection && selection.length > 0) {
208
+        var range = selection.getRangeAt(0);
209
+        zss_editor.currentSelection = {"startContainer": range.startContainer, "startOffset":range.startOffset,"endContainer":range.endContainer, "endOffset":range.endOffset};
210
+    }
209 211
 }
210 212
 
211 213
 zss_editor.restorerange = function(){
212 214
     var selection = window.getSelection();
213
-    selection.removeAllRanges();
214
-    var range = document.createRange();
215
-    range.setStart(zss_editor.currentSelection.startContainer, zss_editor.currentSelection.startOffset);
216
-    range.setEnd(zss_editor.currentSelection.endContainer, zss_editor.currentSelection.endOffset);
217
-    selection.addRange(range);
215
+    if(selection && selection.length > 0) {
216
+        selection.removeAllRanges();
217
+        var range = document.createRange();
218
+        range.setStart(zss_editor.currentSelection.startContainer, zss_editor.currentSelection.startOffset);
219
+        range.setEnd(zss_editor.currentSelection.endContainer, zss_editor.currentSelection.endOffset);
220
+        selection.addRange(range);
221
+    }
218 222
 }
219 223
 
220 224
 zss_editor.getSelectedNode = function() {
@@ -504,6 +508,7 @@ zss_editor.prepareInsert = function() {
504 508
 }
505 509
 
506 510
 zss_editor.insertImage = function(url, alt) {
511
+    zss_editor.focusContent();
507 512
     zss_editor.restorerange();
508 513
     var html = '<img src="'+url+'" alt="'+alt+'" />';
509 514
     zss_editor.insertHTML(html);