最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

vue項目中在可編輯div光標位置插入內容的實現(xiàn)代碼

 更新時間:2020年01月07日 13:57:14   作者:leo_neverGivpUp  
這篇文章主要介紹了vue項目中在可編輯div光標位置插入內容的實現(xiàn)代碼,代碼簡單易懂,非常不錯,具有一定的參考借鑒價值,需要的朋友可以參考下

vue項目中在可編輯div光標位置插入內容

html:

<div class="mouse-move fl f12 h22 lh22 mg-r5 sms-item"
   @dragstart="dragStart($event, item.labelName)"
   draggable='true'
 v-for="(item, index) in modelCommonList"
   :key="index"
   @click="dropRelease($event, item.labelName)">
   {{item.labelName}}
 </div>
<div contenteditable="true"
   @drop="dropRelease($event)"
   @dragover="allowDrop($event)"
   ref="smsContent"
   class="border-r4 f12 h100 pd-tb10 pd-lr10 overflow-scroll-y editable-div"
   id="smsContent">
</div>

methods:

 insertHtmlAtCaret(html) {
    let sel, range;
    if (window.getSelection) {
      // IE9 and non-IE
      sel = window.getSelection();
      if (sel.getRangeAt && sel.rangeCount) {
        range = sel.getRangeAt(0);
        range.deleteContents();
        let el = document.createElement("div");
  el.appendChild(html)
        var frag = document.createDocumentFragment(), node, lastNode;
        while ((node = el.firstChild)) {
          lastNode = frag.appendChild(node);
        }
        range.insertNode(frag);
        if (lastNode) {
          range = range.cloneRange();
          range.setStartAfter(lastNode);
          range.collapse(true);
          sel.removeAllRanges();
          sel.addRange(range);
        }
      }
    } else if (document.selection && document.selection.type != "Control") {
      // IE < 9
      document.selection.createRange().pasteHTML(html);
    }
  },
 //開始拖動可選字段
  dragStart(event, name) {
    event = event || window.event;
    this.dragging = name; //str
    event.dataTransfer.setData(" ", " "); //for firefox
  },
  //阻止默認事件
  allowDrop(event) {
    let e = event || window.event;
    if (e && e.preventDefault) {
      e.preventDefault();
    } else {
      window.event.returnValue = false;
    }
  },
  //拖動到指定位置并釋放
  dropRelease(event, nodeValueName) {
    event = event || window.event;
    event.preventDefault();
    let textNode = document.createElement('input');
    textNode.className = 'mg-lr5 enabledTag';
    textNode.type = 'button';
    textNode.value = this.dragging || nodeValueName;
    this.insertHtmlAtCaret(textNode);
    this.dragging = '';
  },

總結

以上所述是小編給大家介紹的vue項目中在可編輯div光標位置插入內容的實現(xiàn)代碼,希望對大家有所幫助,如果大家有任何疑問請給我留言,小編會及時回復大家的。在此也非常感謝大家對腳本之家網(wǎng)站的支持!
如果你覺得本文對你有幫助,歡迎轉載,煩請注明出處,謝謝!

相關文章

  • Vue中video標簽如何實現(xiàn)不靜音自動播放

    Vue中video標簽如何實現(xiàn)不靜音自動播放

    最近在做大屏展示需要在一開始播放引導視頻,產(chǎn)生自動播放需求,下面這篇文章主要給大家介紹了關于Vue中video標簽如何實現(xiàn)不靜音自動播放的相關資料,需要的朋友可以參考下
    2023-01-01
  • 詳解Vue.js iview實現(xiàn)樹形權限表(可擴展表)

    詳解Vue.js iview實現(xiàn)樹形權限表(可擴展表)

    這篇文章主要介紹了詳解Vue.js iview實現(xiàn)樹形權限表(可擴展表),小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-09-09
  • vue組件之間通信實例總結(點贊功能)

    vue組件之間通信實例總結(點贊功能)

    這篇文章主要介紹了vue組件之間通信,結合實例形式分析了vue父子組件、兄弟組件之間通信的原理、實現(xiàn)方法,并給出了一個類似點贊功能的總結實例,需要的朋友可以參考下
    2018-12-12
  • vue-cli實現(xiàn)異步請求返回mock模擬數(shù)據(jù)

    vue-cli實現(xiàn)異步請求返回mock模擬數(shù)據(jù)

    網(wǎng)上有不少使用mockjs模擬數(shù)據(jù)的文章,但基本都是本地攔截請求返回數(shù)據(jù),本文主要介紹了vue-cli實現(xiàn)異步請求返回mock模擬數(shù)據(jù),文中根據(jù)實例編碼詳細介紹的十分詳盡,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2022-03-03
  • vue實現(xiàn)添加標簽demo示例代碼

    vue實現(xiàn)添加標簽demo示例代碼

    本篇文章主要介紹了vue實現(xiàn)添加標簽demo示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-01-01
  • 分享vue.js devtools遇到一系列問題

    分享vue.js devtools遇到一系列問題

    這篇文章主要為大家詳細介紹了vue.js devtools遇到問題的解決方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-10-10
  • 手把手教你使用寶塔部署Vue項目

    手把手教你使用寶塔部署Vue項目

    這篇文章主要給大家介紹了關于如何使用寶塔部署Vue項目的相關資料,寶塔面板提供了非常方便的方式來部署 Vue 項目,文中通過圖文介紹的非常詳細,需要的朋友可以參考下
    2023-08-08
  • vue2組件之select2調用的示例代碼

    vue2組件之select2調用的示例代碼

    本篇文章主要介紹了vue2組件之select2調用的示例代碼,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-10-10
  • Vue 2.5 Level E 發(fā)布了: 新功能特性一覽

    Vue 2.5 Level E 發(fā)布了: 新功能特性一覽

    很高興Vue 2.5 Level E 發(fā)布了。在這篇文章中,我們將重點介紹一些更重要的的變化:更好的 TypeScript 集成,更好的錯誤處理,更好地支持單文件組件中的函數(shù)式組件以及與環(huán)境無關的服務端渲染
    2017-10-10
  • vue-cli 3.x 配置Axios(proxyTable)跨域代理方法

    vue-cli 3.x 配置Axios(proxyTable)跨域代理方法

    今天小編就為大家分享一篇vue-cli 3.x 配置Axios(proxyTable)跨域代理方法,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2018-09-09

最新評論

马边| 马尔康县| 宁陕县| 新建县| 松江区| 和硕县| 东乡县| 惠水县| 沾化县| 隆化县| 连平县| 绥化市| 邓州市| 灵台县| 柳林县| 襄汾县| 新乡市| 武隆县| 吉首市| 阳新县| 宝应县| 乐平市| 长子县| 嘉黎县| 荥经县| 仪陇县| 武夷山市| 绥化市| 河东区| 汶川县| 合肥市| 阿拉尔市| 桦南县| 武威市| 毕节市| 唐海县| 东莞市| 莒南县| 广安市| 四平市| 天柱县|