Sencha-Touch 2.2.1 Простое перетаскивание работает в браузерах Webkit, но не в IE 10

У меня есть сложное приложение, которое использует перетаскивание в Sencha 2.2.1 — прекрасно работает в браузерах Webkit, но теперь, когда Sencha Touch поддерживает IE 10, я захотел попробовать его.

Мне не удалось заставить работать перетаскивание, поэтому я начал очень простой тест с нуля.

Я создал новое приложение «hello world», используя sencha cmd generate и используя Main.js, который вы видите ниже. Я могу перетаскивать внутреннюю панель в браузерах webkit без проблем, но внутренняя панель даже не отображается в IE 10. Пробовал несколько дней, но не могу понять, как работает эта новая сделка Ext.util.Translatable и как она работает. должен работать в IE 10.

(Среда: Win 7 64 Bit; Sencha 2.2.1 Commercial SDK; Sencha Cmd v3.1.2.342; соберите пакет, подобный этому «пакету сборки приложения sencha», и запустите index.html из папки с файлами без веб-сервера)

просмотр\Main.js:

Ext.define('mytest.view.Main', {
extend: 'Ext.tab.Panel',
xtype: 'main',
requires: [
    'Ext.TitleBar',
    'Ext.Video',
    'Ext.util.Draggable'
],
config: {
    tabBarPosition: 'bottom',
    items: [
        {
            title: 'Welcome',
            iconCls: 'home',
            styleHtmlContent: true,
            scrollable: true,
            items: [{
                docked: 'top',
                xtype: 'titlebar',
                title: 'Welcome to Sencha Touch 2'
            },{
                xtype: 'panel',
                layout: 'hbox',
                html: 'mybutton',
                width: 300,
                height: 80,
                left: 5,
                top: 5,
                id: 'mydraggable',
                draggable: 'both',
                constraint: {
                    min: { x: 0, y: 0 },
                    max: { x: 1000000, y: 1000000 }
                  },
                listeners: {
                    drag: {
                        element: 'element',
                        fn:  function(draggable, e){
                            console.log("left: ", this.getLeft(), "top: ",this.getTop(), "X: ",this.element.getX(), "Y: ",this.element.getY());
                            //this.setLeft(this.element.getX());
                            //this.setTop(this.element.getY());
                        }
                    },
                    tap: {
                        element: 'element',
                        fn: function(view, index, target, record, event){
                            alert("Tapped");
                        }
                    }
                }
            }]
        },
        {
            title: 'Get Started',
            iconCls: 'action',

            items: [
                {
                    docked: 'top',
                    xtype: 'titlebar',
                    title: 'Getting Started'
                },
                {
                    xtype: 'video',
                    url: 'http://av.vimeo.com/64284/137/87347327.mp4?token=1330978144_f9b698fea38cd408d52a2393240c896c',
                    posterUrl: 'http://b.vimeocdn.com/ts/261/062/261062119_640.jpg'
                }
            ]
        }
    ]
},
initialize: function (){

    this.callParent();
}
});



Ответы (1)


Я столкнулся с той же проблемой при разработке приложения с фреймворком Sencha Touch. Функциональность перетаскивания хорошо работает в браузерах -webkit, но не работает в IE10.

Я пришел к выводу, что внутренние механизмы sencha для перетаскивания используют свойство CSS -webkit-transform для перевода компонентов в документе.

Поскольку IE не поддерживает эти свойства, перетаскивание не выполняется.

Мое предложение попробовать переопределить функциональность по умолчанию и реализовать полифилл для любого браузера.

Извините, что не предоставили решение этой проблемы (в настоящее время разрабатывается). Когда он у меня заработает, я добавлю его сюда.

person AndrewH    schedule 14.01.2014