Forráskód Böngészése

复制文本分析时,将div 改为span

dusenyao 1 éve
szülő
commit
5f8caaebe1
1 módosított fájl, 20 hozzáadás és 20 törlés
  1. 20 20
      src/views/Textanalysis/index.vue

+ 20 - 20
src/views/Textanalysis/index.vue

@@ -42,9 +42,9 @@
               </span>
             </span>
             <div>
-              <span v-if="searchVal.trim() && !userID" class="resule-right-btn" @click="jumpSeekPage"
-                >在教材语料库中查看</span
-              >
+              <span v-if="searchVal.trim() && !userID" class="resule-right-btn" @click="jumpSeekPage">
+                在教材语料库中查看
+              </span>
               <span class="resule-right-btn" @click="clearSelected('all')">清除标记</span>
             </div>
           </div>
@@ -1050,24 +1050,24 @@ export default {
       // 获取用户的选区
       let content = window.getSelection().getRangeAt(0).cloneContents();
       let paragraphs = content.querySelectorAll('.paragraph'); // 获取选中的段落
-      let div = document.createElement('div');
+      let span = document.createElement('span');
       if (paragraphs.length <= 0) {
         // 单行情况下
-        div.classList = 'paragraph';
-        div.style = 'display: flex; flex-wrap: wrap; margin-bottom: 22px;font-weight: 500;';
+        span.classList = 'paragraph';
+        span.style = 'display: flex; flex-wrap: wrap; margin-bottom: 22px;font-weight: 500;';
       } else {
         // 多行情况下
         paragraphs.forEach((item) => {
           item.style = 'display: flex; flex-wrap: wrap; margin-bottom: 22px;font-weight: 500;';
         });
-        div.classList = 'articel';
-        div.style = 'font-weight: 500;';
+        span.classList = 'articel';
+        span.style = 'font-weight: 500;';
       }
-      // 将 content 设到 div
-      div.appendChild(content);
+      // 将 content 设到 span
+      span.appendChild(content);
       // words
       if (paragraphs.length <= 0) {
-        let words = div.querySelectorAll('.words');
+        let words = span.querySelectorAll('.words');
         words.forEach((item) => {
           item.style.cssText += 'display: flex;';
         });
@@ -1075,38 +1075,38 @@ export default {
         paragraphs.forEach((item) => {
           let words = item.querySelectorAll('.words');
           words.forEach((items, i) => {
-            items.style.cssText += `display: flex;${i === 0 ? 'width: 22px;' : ''}`;
+            items.style.cssText += `display: flex;${i === 0 ? 'min-width: 22px;' : ''}`;
           });
         });
       }
       // word
-      let word = div.querySelectorAll('.word');
+      let word = span.querySelectorAll('.word');
       word.forEach((item) => {
         item.style.cssText +=
           item.style.display === 'initial' ? 'text-align: center;' : 'display: flex; text-align: center;';
       });
       // pinyin
-      let pinyin = div.querySelectorAll('.pinyin');
+      let pinyin = span.querySelectorAll('.pinyin');
       pinyin.forEach((item) => {
         item.style.cssText +=
           'min-height: 12px; font-family: "League"; line-height: 12px; color: rgba(0, 0, 0, 50%); text-align: center;';
       });
       // hanzi
-      let hanzi = div.querySelectorAll('.hanzi');
+      let hanzi = span.querySelectorAll('.hanzi');
       hanzi.forEach((item) => {
         item.style.cssText += 'line-height: 28px; color: #000; text-align: center;';
       });
       // hanzi_fz
-      let hanzi_fz = div.querySelectorAll('.hanzi-fz');
+      let hanzi_fz = span.querySelectorAll('.hanzi-fz');
       hanzi_fz.forEach((item) => {
         item.style.cssText += 'font-family: "FZJCGFKTK";';
       });
 
-      // 将 div 转为字符串,包含样式
-      let divHtml = div.outerHTML;
-
+      // 将 span 转为字符串,包含样式
+      let spanHtml = span.outerHTML;
+      spanHtml = spanHtml.replace(/<div/g, '<span').replace(/<\/div/g, '</span');
       // 修改复制到剪贴板的数据
-      e.clipboardData.setData('text/html', divHtml);
+      e.clipboardData.setData('text/html', spanHtml);
 
       // 阻止默认的复制操作
       e.preventDefault();