Javascript 也可以使用、保留这些样式并避免包装,但是填充在输入中的行为不同,因为填充区域中的内容不可见(蓝色示例)

Javascript 也可以使用、保留这些样式并避免包装,但是填充在输入中的行为不同,因为填充区域中的内容不可见(蓝色示例),javascript,html,css,google-chrome,firefox,Javascript,Html,Css,Google Chrome,Firefox,最后,更新滚动的代码在模糊上无法正常工作,因为当事件触发时,输入上的滚动尚未重置为0。用包装或解决问题。此外,后者还将使更新更加平滑和同步 const text=document.getElementById('text'); const input=document.getElementById('input'); 函数updateScroll(){ //在没有requestAnimationFrame的情况下,在模糊时滚动未更新 //或设置超时: requestAnimationFrame

最后,更新滚动的代码在模糊上无法正常工作,因为当事件触发时,输入上的滚动尚未重置为0。用包装或解决问题。此外,后者还将使更新更加平滑和同步

const text=document.getElementById('text');
const input=document.getElementById('input');
函数updateScroll(){
//在没有requestAnimationFrame的情况下,在模糊时滚动未更新
//或设置超时:
requestAnimationFrame(()=>text.scrollLeft=input.scrollLeft);
}
input.addEventListener('blur',updateScroll);
input.addEventListener('change',updateScroll);
input.addEventListener('focus',updateScroll);
addEventListener('input',updateScroll);
input.addEventListener('keydown',updateScroll);
input.addEventListener('keyup',updateScroll);
input.addEventListener('scroll',updateScroll);
input.addEventListener('select',updateScroll);
const textAlternative=document.getElementById('text-alternative');
const inputAlternative=document.getElementById('input-alternative');
函数updateScrollAlternative(){
//在没有requestAnimationFrame的情况下,在模糊时滚动未更新
//或设置超时:
requestAnimationFrame(()=>textAlternative.scrollLeft=inputAlternative.scrollLeft);
}
inputAlternative.addEventListener('blur',updateScrollAlternative);
inputAlternative.addEventListener('change',updateScrollAlternative);
inputAlternative.addEventListener('focus',updateScrollAlternative);
inputAlternative.addEventListener('input',updateScrollAlternative');
addEventListener('keydown',updateScrollAlternative);
inputAlternative.addEventListener('keyup',updateScrollAlternative);
inputAlternative.addEventListener('scroll',updateScrollAlternative);
inputAlternative.addEventListener('select',updateScrollAlternative)
正文{
保证金:0;
}
.盒子{
位置:相对位置;
显示:块;
宽度:50%;
框大小:边框框;
/*在此处移动样式:*/
边框:3倍纯红;
填充:8px;
保证金:8px自动0;
}
#文本,
#输入,
#备选案文,
#输入替代{
显示:块;
宽度:100%;
字体大小:14px;
字体系列:monospace;
大纲:无;
}
#文本,
#输入{
/*删除了边距、填充和边框:*/
边界:0;
填充:0;
保证金:0;
}
#备选案文,
#输入替代{
宽度:50%;
框大小:边框框;
/*由于框大小的不同,请在此处保留样式,但其行为不同:*/
边框:3件纯蓝;
填充:8px;
保证金:8px自动0;
}
#文本,
#文本替代{
单词包装:打断单词;
空白:nowrap;
/*无需将其保持可见,除非您也想手动滚动:*/
溢出x:隐藏;
}

知识是一种美德,是一种美德,是一种美德,是一种美德。
知识是一种美德,是一种美德,是一种美德,是一种美德。

这是实际代码吗?它在Chrome 77上似乎工作得很好。我用Chrome试用过,它在Windows 10上的Chrome 77上工作。这是实际的代码吗?在Chrome 77上似乎效果很好。我用Chrome试用过,效果很好。在Windows 10上的Chrome 77中效果很好。@rulogaf不客气:)不要忘记接受答案,如果它回答了你的问题,请向上投票;)@不客气:)别忘了接受答案,如果答案回答了你的问题,请投赞成票;)