在我的移动Safari浏览器的项目,我需要建立一个信息发布功能。当文本行超过文本区域的最大行时,它需要在文本区域内滚动。我无法在Ext.field.textarea中找到'可滚动'属性,任何想法如何? 干杯!Sencha Touch 2.0 - 如何在移动Safari的textarea中设置滚动?
1
A
回答
3
有联系2.0.x的一个bug使得框架明确地防止滚动操作。据说一个修补程序将在2.1,虽然我没有正式看到,只是从一个论坛上的人。
在此之前,有一种用于touch1解决这里http://www.sencha.com/forum/showthread.php?180207-TextArea-scroll-on-iOS-not-working,你可以移植到V2。它基本上包括将一个事件侦听到实际textarea的领域(不是煎茶对象),然后调用了preventDefault如果它是一个有效的表示ScrollEvent。
完整的代码是在那个环节,但突出的位都在这里。
抓住< textarea的>字段(不是煎茶触摸对象)直接使用addListener申请 'handleTouch' 上touchstart和 'handleMove' 上touchmove
handleTouch: function(e) {
this.lastY = e.pageY;
},
handleMove: function(e) {
var textArea = e.target;
var top = textArea.scrollTop <= 0;
var bottom = textArea.scrollTop + textArea.clientHeight >= textArea.scrollHeight;
var up = e.pageY > this.lastY;
var down = e.pageY < this.lastY;
this.lastY = e.pageY;
// default (mobile safari) action when dragging past the top or bottom of a scrollable
// textarea is to scroll the containing div, so prevent that.
if((top && up) || (bottom && down)) {
e.preventDefault();
e.stopPropagation(); // this tops scroll going to parent
}
// Sencha disables textarea scrolling on iOS by default,
// so stop propagating the event to delegate to iOS.
if(!(top && bottom)) {
e.stopPropagation(); // this tops scroll going to parent
}
}
0
Ext.define('Aspen.util.TextArea', {
override: 'Ext.form.TextArea',
adjustHeight: Ext.Function.createBuffered(function (textarea) {
var textAreaEl = textarea.getComponent().input;
if (textAreaEl) {
textAreaEl.dom.style.height = 'auto';
textAreaEl.dom.style.height = textAreaEl.dom.scrollHeight + "px";
}
}, 200, this),
constructor: function() {
this.callParent(arguments);
this.on({
scope: this,
keyup: function (textarea) {
textarea.adjustHeight(textarea);
},
change: function (textarea, newValue) {
textarea.adjustHeight(textarea);
}
});
}
});
相关问题
- 1. 使用拖动事件来移动Sencha Touch 2.0中的滚动条
- 2. 字段设置不在sencha touch中滚动
- 3. 你如何防止移动safari上textarea的页面滚动
- 4. 在Sencha Touch中滚动问题
- 5. 问题在sencha touch中滚动div
- 6. Sencha Touch移动平台
- 7. Parse.com Sencha Touch 2.0
- 8. 如何在Sencha Touch 2.0中清除Cookies
- 9. 如何设置lwuit textarea滚动为false
- 10. fieldset动态设置值sencha touch 2.2
- 11. 2 Sencha Touch中的滚动列表不滚动
- 12. Sencha Touch在PhoneGap webview中呈现与在移动Safari中不同的东西
- 13. 如何实现sencha touch 2.0中的sass
- 14. 未移动到iPod Touch中的设置
- 15. 如何在Ext Touch(Sencha Touch)中处理Ext.Panels上的滚动事件?
- 16. jQuery滚动移动Safari
- 17. 模糊事件不在iOS上触发移动Safari在Sencha Touch中
- 18. 如何在sencha touch 2.0中保存textarea的复选框和数据状态?
- 19. Sencha设置Ext.Panel'可滚动'属性
- 20. Sencha Touch:自动滚动不能在DataView中工作
- 21. 面板中的Sencha Touch 2.0 Dataview
- 22. sencha touch :: list不滚动右边
- 23. Sencha Touch 2&webkit溢出滚动:触摸
- 24. 使用Sencha Touch阻止列表滚动
- 25. 使用sencha touch进行无限滚动
- 26. Sencha Touch垂直滚动问题
- 27. 如何在Sencha Touch 2上设置启动画面和启动画面?
- 28. 在Sencha Touch 2中设置动画尺寸
- 29. Sencha Touch:使用Vimeo视频滚动Ext.Panel打破滚动
- 30. 如何在Safari移动版(iPad)上正确滚动?