欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

vue實(shí)現(xiàn)編輯器鍵盤抬起時(shí)內(nèi)容跟隨光標(biāo)距頂位置向上滾動(dòng)效果

 更新時(shí)間:2020年05月28日 17:09:10   作者:碼工思博  
這篇文章主要介紹了vue實(shí)現(xiàn)編輯器鍵盤抬起時(shí)內(nèi)容跟隨光標(biāo)距頂位置向上滾動(dòng)效果,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下

最近遇到了之前沒有碰到過的一個(gè)問題:編輯器輸入內(nèi)容時(shí),最好讓內(nèi)容一直保持在可視區(qū)域,比如如果區(qū)域超出的話,就在鍵盤抬起時(shí)向上滾動(dòng)一定距離。

這個(gè)和聊天發(fā)消息還有一定的區(qū)別,聊天的話是只要點(diǎn)開輸入框,就將內(nèi)容定位到最下面: 即 dom.scrollTop = dom.scrollHeight即可,但是這個(gè)需要移動(dòng)的是一部分距離,經(jīng)過討論最好是讓當(dāng)前光標(biāo)的位置在鍵盤抬起時(shí)達(dá)到可視區(qū)域的最上面

那么這個(gè)距離肯定是根據(jù)光標(biāo)的距離頂部位置決定的,但是光標(biāo)距離頂部的距離我并沒有度到如何獲取,于是就自己瞎摸索,就有了接下來的解決辦法

原理是利用的是光標(biāo)屬性可以拿到當(dāng)前基于該屬性的dom結(jié)構(gòu),就可以通過當(dāng)前dom距離頂部的offsetTop值判斷內(nèi)容本身在鍵盤抬起時(shí)到底向上滾多少

廢話不多說,上代碼

let sel = window.getSelection();獲取光標(biāo)的所有屬性

通過打印它的一些屬性我們可以拿到一些我們所需要的東西(當(dāng)前dom)

console.log(sel.getRangeAt(0).commonAncestorContainer.parentElement)

這個(gè)拿到的就是你當(dāng)前的dom元素,只需要拿到它的offsetTop即可判斷界面到底向上滾動(dòng)多少

但是有的時(shí)候可能當(dāng)前的屬性是個(gè)行標(biāo)簽,拿不到offsetTop,那么我們可以找到基于它的父級(jí)塊標(biāo)簽,我這里的上一級(jí)就是塊標(biāo)簽,所以只需執(zhí)行

sel.getRangeAt(0).commonAncestorContainer.parentElement.parentNode.offsetTop

就可以拿到想要的值

再通過

this.$nextTick(() => {
 dom.scrollTop = ket;
 });

這里聲明必須在nextTick里進(jìn)行操作才能更改成功,否則是沒有效果的

完整demo

let sel = window.getSelection();
let ket = sel.getRangeAt(0).commonAncestorContainer.parentElement.offsetTop;
if(ket==0){//行標(biāo)簽
 ket = sel.getRangeAt(0).commonAncestorContainer.parentElement.parentNode.offsetTop
}
 this.$nextTick(() => {
 dom.scrollTop = ket;
});

或者通過三元拿值

let ket = sel.getRangeAt(0).commonAncestorContainer.parentElement.offsetTop==0?sel.getRangeAt(0).commonAncestorContainer.parentElement.parentNode.offsetTop:sel.getRangeAt(0).commonAncestorContainer.parentElement.offsetTop;

 this.$nextTick(() => {
 dom.scrollTop = ket;
});

這樣試反正我是成功了,這里說一下鍵盤抬起不抬起不是我判斷是,是由app端調(diào)用我的方法告知我的,希望小伙伴們不要走彎路....

總結(jié)

到此這篇關(guān)于vue實(shí)現(xiàn)編輯器鍵盤抬起時(shí)內(nèi)容跟隨光標(biāo)距頂位置向上滾動(dòng)效果的文章就介紹到這了,更多相關(guān)vue編輯器鍵盤抬起內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • vue正確使用watch監(jiān)聽屬性變化方式

    vue正確使用watch監(jiān)聽屬性變化方式

    這篇文章主要介紹了vue正確使用watch監(jiān)聽屬性變化方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • elementUI中Table表格問題的解決方法

    elementUI中Table表格問題的解決方法

    這篇文章主要給大家介紹了關(guān)于elementUI中Table表格問題的解決方法,文中通過示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2018-12-12
  • vue 綁定使用 touchstart touchmove touchend解析

    vue 綁定使用 touchstart touchmove touchend解析

    這篇文章主要介紹了vue 綁定使用 touchstart touchmove touchend解析,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-03-03
  • vue子組件使用自定義事件向父組件傳遞數(shù)據(jù)

    vue子組件使用自定義事件向父組件傳遞數(shù)據(jù)

    這篇文章主要介紹了vue子組件使用自定義事件向父組件傳遞數(shù)據(jù)的方法,非常不錯(cuò),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2017-05-05
  • vue制作toast組件npm包示例代碼

    vue制作toast組件npm包示例代碼

    這篇文章主要介紹了vue制作一個(gè)toast組件npm包,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2020-10-10
  • 基于Vue3制作簡(jiǎn)單的消消樂游戲

    基于Vue3制作簡(jiǎn)單的消消樂游戲

    這篇文章主要為大家介紹了如何利用Vue3制作簡(jiǎn)單的消消樂游戲,文中的示例代碼講解詳細(xì),感興趣的小伙伴可以跟隨小編一起動(dòng)手試一試
    2022-05-05
  • Ant?Design?Vue?走馬燈實(shí)現(xiàn)單頁多張圖片輪播效果

    Ant?Design?Vue?走馬燈實(shí)現(xiàn)單頁多張圖片輪播效果

    這篇文章主要介紹了Ant?Design?Vue?走馬燈實(shí)現(xiàn)單頁多張圖片輪播,本文通過實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-07-07
  • element ui提交表單返回成功后自動(dòng)清空表單的值的實(shí)現(xiàn)代碼

    element ui提交表單返回成功后自動(dòng)清空表單的值的實(shí)現(xiàn)代碼

    這篇文章主要介紹了elementui提交表單返回成功后自動(dòng)清空表單的值,本文通過兩種方法結(jié)合實(shí)例代碼給大家介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2022-08-08
  • vue-router傳遞參數(shù)的幾種方式實(shí)例詳解

    vue-router傳遞參數(shù)的幾種方式實(shí)例詳解

    vue-router傳遞參數(shù)分為兩大類,一類是編程式的導(dǎo)航 router.push另一類是聲明式的導(dǎo)航 <router-link>,本文通過實(shí)例代碼給大家介紹vue-router傳遞參數(shù)的幾種方式,感興趣的朋友跟隨小編一起看看吧
    2018-11-11
  • Vue Cli與BootStrap結(jié)合實(shí)現(xiàn)表格分頁功能

    Vue Cli與BootStrap結(jié)合實(shí)現(xiàn)表格分頁功能

    這篇文章主要介紹了Vue Cli與BootStrap結(jié)合實(shí)現(xiàn)表格分頁功能,需要的朋友可以參考下
    2017-08-08

最新評(píng)論