【发布时间】:2010-02-18 18:10:59
【问题描述】:
偶然发现当用户在文本区域中输入文本时执行 window.scrollTo() 时,移动 safari 如何呈现光标似乎是一个错误。附上说明问题的源代码。我想知道是否有人对我如何解决这个问题有任何建议。
问题:如果用户正在将文本输入到 textarea 并执行了 window.scrollTo(),则光标仍会呈现在 textarea 使用到的位置是,不在它的当前位置。
重新创建:使用移动 Safari 加载以下网页。触摸文本区域,这将打开键盘。输入几个字符并等待。随着文本动态添加到页面,并且窗口滚动,您将看到光标工件
尝试在滚动后将focus()设置回textarea,但这似乎没有任何效果。
谢谢!
<html>
<head>
<meta id="viewport" name="viewport" content="width=device-width; initial-scale=1.0; maximum-scale=1.0; user-scalable=no;" />
<style type="text/css" media="screen">
textarea {
margin-top:50px;
}
</style>
<script type="text/javascript" charset="utf-8">
window.addEventListener('load', function() {
setTimeout(addContent,5000);
}, false);
function addContent() {
var elem = document.createElement('p');
elem.appendChild(document.createTextNode('Some new text'))
document.getElementById('newContentContainer').appendChild(elem);
window.scrollTo(0,20);
setTimeout(addContent,5000);
}
</script>
</head>
<body>
<div id="newContentContainer"></div>
<div>
<textarea></textarea>
</div>
</body>
</html>
这是显示问题的照片:
【问题讨论】:
-
Apple 在这方面有开票吗?
-
我确实提交了一些东西,但从那以后就没有听到任何消息了...已经转移到其他东西所以还没有尝试使用 iOS 4。
标签: javascript html mobile-safari