|
@@ -50,6 +50,8 @@ export default {
|
|
|
created() {},
|
|
|
mounted() {},
|
|
|
methods: {
|
|
|
+
|
|
|
+ //粘贴
|
|
|
async handlePaste(e){
|
|
|
var event = e || window.event
|
|
|
event.preventDefault();
|
|
@@ -77,7 +79,6 @@ export default {
|
|
|
if (!file) {
|
|
|
return;
|
|
|
}
|
|
|
- var content = event.target.innerHTML
|
|
|
var str = await this.fileToBase64(file)
|
|
|
var randNum=Math.floor(Math.random()*(9999-1000))+1000;;
|
|
|
var new_img = '<img key="'+ randNum +'" src="' + str + '" style="width:80px;height: 80px;border: 1px solid #f9f6f675;vertical-align:middle">';
|
|
@@ -131,17 +132,35 @@ export default {
|
|
|
},
|
|
|
//设置光标位置
|
|
|
setCursor(event,str,type){
|
|
|
- var content = event.target.innerHTML
|
|
|
+ var content = event.target.innerHTML
|
|
|
+ // previousSibling
|
|
|
var indexText = this.getColumn(event.target,window.getSelection())
|
|
|
var index2 = 0
|
|
|
- var str2 = content.slice(0, indexText) + str + content.slice(indexText);
|
|
|
- event.target.innerHTML = str2
|
|
|
+ var childNodes = event.target.childNodes
|
|
|
+ if(!content){
|
|
|
+ if(event.target.nodeName == 'BR'){
|
|
|
+ event.target.parentNode.innerHTML = str
|
|
|
+ var selectedRange = document.createRange();
|
|
|
+ selectedRange.setStart(event.target,index2);
|
|
|
+ return false
|
|
|
+ }
|
|
|
+ }else{
|
|
|
+ content = content.replace(/ /g,'\r')
|
|
|
+ var str2 = content.slice(0, indexText) + str + content.slice(indexText);
|
|
|
+ event.target.innerHTML = str2.replace(/\r/g,' ')
|
|
|
+ }
|
|
|
+
|
|
|
+ // console.log(event.currentTarget.childNodes)
|
|
|
+ // if(event.target.nodeName == 'BR'){
|
|
|
+ // event.target.nodeName = 'SPAN'
|
|
|
+ // event.target.innerHTML = '</br>' + str2
|
|
|
+ // }
|
|
|
this.$nextTick(()=>{
|
|
|
var selectedText = window.getSelection();
|
|
|
var selectedRange = document.createRange();
|
|
|
try{
|
|
|
- for(var i=0;i<event.target.childNodes.length;i++){
|
|
|
- var html = event.target.childNodes[i].outerHTML
|
|
|
+ for(var i=0;i<childNodes.length;i++){
|
|
|
+ var html = childNodes[i].outerHTML
|
|
|
if(type == 1){
|
|
|
if(html){
|
|
|
html = html.replace(/\r{1,}|\n{1,}|\r\n{1,}/g,'')
|
|
@@ -200,6 +219,7 @@ export default {
|
|
|
}
|
|
|
}
|
|
|
}
|
|
|
+ return retIdx
|
|
|
},
|
|
|
// 将file文件上传转化为base64进行显示
|
|
|
fileToBase64(file) {
|