|
8426 | 8426 | } |
8427 | 8427 | } |
8428 | 8428 |
|
8429 | | - zss_editor.replaceMentionWithElement = function(element) { |
8430 | | - if (!element) { |
8431 | | - return; |
8432 | | - } |
8433 | | - |
8434 | | - /* zss_editor.log('replaceMentionWithElement()'); */ |
8435 | | - var externalMentionSpan = document.getElementById( |
8436 | | - mentionExternalSpanId, |
8437 | | - ); |
8438 | | - if (!externalMentionSpan) { |
8439 | | - return; |
8440 | | - } |
8441 | | - |
8442 | | - var externalMentionSpanParent = externalMentionSpan.parentNode; |
8443 | | - externalMentionSpanParent.removeChild(externalMentionSpan); |
8444 | | - insertElementAtCursor(element); |
8445 | | - insertElementAtCursor(document.createTextNode('\u00A0')); |
8446 | | - |
8447 | | - fireEventDidExitMentionMode(); |
8448 | | - }; |
8449 | | - |
8450 | 8429 | function setupTouchEndEnableEditing(editorId) { |
8451 | 8430 | $('#' + editorId).on('touchend', function(e) { |
8452 | 8431 | zss_editor.enabledEditingItems(e); |
|
8556 | 8535 | $(document).on('selectionchange', function(e) { |
8557 | 8536 | // add by xukj - fix cannot set bold/italic on android |
8558 | 8537 | if (document.getSelection() != '') { |
8559 | | - zss_editor.log('selectionchange'); // log |
| 8538 | + /* zss_editor.log('selectionchange'); */ |
8560 | 8539 | zss_editor.calculateEditorHeightWithCaretPosition(); |
8561 | 8540 | zss_editor.setScrollPosition(); |
8562 | 8541 | zss_editor.enabledEditingItems(e); |
|
8566 | 8545 |
|
8567 | 8546 | // Make sure that when we tap anywhere in the document we focus on the editor |
8568 | 8547 | $(window).on('touchmove', function(e) { |
8569 | | - zss_editor.log('touchmove'); // log |
| 8548 | + /* zss_editor.log('touchmove'); */ |
8570 | 8549 | zss_editor.isDragging = true; |
8571 | 8550 | zss_editor.updateScrollOffset = true; |
8572 | 8551 | zss_editor.setScrollPosition(); |
|
9016 | 8995 | /* zss_editor.log( |
9017 | 8996 | `insertMention('${url}', '${title}', '${className}')`, |
9018 | 8997 | ); */ |
| 8998 | + zss_editor.removeMentionRemains(); |
9019 | 8999 | var mentionLinkElement = document.createElement('a'); |
9020 | 9000 | mentionLinkElement.className = encodeHtmlEntities(className); |
9021 | 9001 | mentionLinkElement.setAttribute( |
9022 | 9002 | 'href', |
9023 | 9003 | encodeHtmlEntities(url), |
9024 | 9004 | ); |
9025 | 9005 | mentionLinkElement.textContent = encodeHtmlEntities(title); |
| 9006 | + document.execCommand( |
| 9007 | + 'insertHTML', |
| 9008 | + false, |
| 9009 | + mentionLinkElement.outerHTML, |
| 9010 | + ); |
9026 | 9011 | var space = document.createElement('span'); |
9027 | 9012 | space.innerHTML = '\xa0'; |
9028 | | - zss_editor.replaceMentionWithElement(mentionLinkElement); |
| 9013 | + document.execCommand('insertHTML', false, space.outerHTML); |
| 9014 | + fireEventDidExitMentionMode(); |
| 9015 | + }; |
| 9016 | + |
| 9017 | + zss_editor.removeMentionRemains = function() { |
| 9018 | + /* zss_editor.log('removeMentionRemains()'); */ |
| 9019 | + var externalMentionSpan = document.getElementById( |
| 9020 | + mentionExternalSpanId, |
| 9021 | + ); |
| 9022 | + if (!externalMentionSpan) { |
| 9023 | + return; |
| 9024 | + } |
| 9025 | + |
| 9026 | + var externalMentionSpanParent = externalMentionSpan.parentNode; |
| 9027 | + externalMentionSpanParent.removeChild(externalMentionSpan); |
9029 | 9028 | }; |
9030 | 9029 |
|
9031 | 9030 | function removeNode(previous) { |
|
9326 | 9325 | // Use jQuery to figure out those that are not supported |
9327 | 9326 | if (typeof e != 'undefined') { |
9328 | 9327 | // The target element |
9329 | | - var s = zss_editor.getSelectedNode(); |
| 9328 | + var s = zss_editor.getSelectedNode() || e.target; |
9330 | 9329 | var t = $(s); |
9331 | 9330 | var nodeName = e.target.nodeName.toLowerCase(); |
9332 | 9331 |
|
|
0 commit comments