编辑textarea时,如何防止包含div滚动到它?
我正在开发一个网站,用户可以在其中创建textareas并将它们移动,因为它们像一个容器div内的溢出:hidden - 对应于一张纸。编辑textarea时,如何防止包含div滚动到它?
当textarea被放置在容器的边缘时(即,只有一些textarea可见),我的问题就出现了。当用户键入textarea并且脱字符移出可见部分时,容器将滚动以显示所有textarea。
尝试一下在这个小提琴的textarea的分号后输入的东西: http://jsfiddle.net/PG8SU/2/
<div class="container"> <p>Some other text</p>
<textarea>Type:</textarea>
</div>
.container {
position:absolute;
width:300px;
height:500px;
border:2px solid blue;
overflow:hidden;
top: 50px;
left:100px;
}
textarea {
position:absolute;
display:block;
left:250px;
width:100px;
top:200px;
}
这似乎是大多数浏览器,如Chrome和IE浏览器的默认行为。我想避免任何滚动的容器,并且即使用户输入textarea也只能保持部分可见。
有没有人有这样做的想法?
回答:
在仔细研究了一下之后,我相信这样做不是完全可行的。 ()。(“。container”)。width() - $(“textarea”)。position()。这个是一个奇怪的用例,当然,通常你最好将文本区域的宽度设置为$ ().left,但!如果确实需要在容器外的文本,你需要它溢出,这将这类工作:
$("textarea").keyup(function() { $(".container").scrollTop(0).scrollLeft(0);
}).keydown(function() {
$(".container").scrollTop(0).scrollLeft(0);
});
我在你的jsfiddle跑了这一点,它会导致屏幕,当你键入闪烁,但它最终会禁用滚动。这并不理想,但这是我认为你会找到的最好的。
以上是 编辑textarea时,如何防止包含div滚动到它? 的全部内容, 来源链接: utcz.com/qa/263905.html