tinymce自動獲取焦點光標移至最后


tinymce官方提供的API auto_focus存在一些問題,在編輯時候如果輸入框有內容auto_focus方法會自動獲取焦點不過光標在最前面

我們可以調用這個函數去解決這個問題

//獲取焦點光標到最后面
    keepLastIndex (obj, window) {
      if (window.getSelection) { //ie11 10 9 ff safari
        obj.focus(); //解決ff不獲取焦點無法定位問題
        var range = window.getSelection(); //創建range
        range.selectAllChildren(obj); //range 選擇obj下所有子內容
        range.collapseToEnd(); //光標移至最后
      } else if (document.selection) { //ie10 9 8 7 6 5
        var range = document.selection.createRange(); //創建選擇對象
        range.moveToElementText(obj); //range定位到obj
        range.collapse(false); //光標移至最后
        range.select();
      }
    }
mounted () {
    tinymce.init({})
    this.$nextTick(() => {
        var ifra = document.getElementById("tinymces_ifr");
        this.keepLastIndex(ifra.contentWindow.document.getElementById('tinymce'), ifra.contentWindow)
    })
  },

 

不過這里還有一個問題,tinymce是iframe內嵌的文本框該函數需要接受到iframe的window才能實現,我的項目是使用的vue框架,我是單獨把tinymce單獨封裝了一個組件我直接在mounted生命周期里調用了這個函數這樣就解決了tinymce獲取焦點光標在最前面的問題。

轉發請帶鏈接謝謝:https://www.cnblogs.com/webgyx/p/14392368.html


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM