2012-05-22 47 views
1

我有一個容器,我在它的配置與此可拖動:stopEvent()不工作的拖動事件

draggable: { 
    direction: 'horizontal', 
    constraint: { 
     min: { x: 0, y: 0 }, 
     max: { x: parseInt(screen.width-57), y: 0 } 
    }, 
    listeners: { 
    dragstart: function(panel, e, offset){ 

    }, 
    drag: function(panel, e, offset){ 

    }, 
    dragend: function(panel, e, offset){ 

    }, 
    scope: this 
    }, 
} 

它的做工精細。現在我想阻止用戶在拖動事件時拖動面板。這可能聽起來很愚蠢,但是,這是爲了防止用戶直接拖動面板,他必須將他的手指放在工具欄上才能拖動面板。

我已經嘗試了一些東西像

return false; 
e.stopEvent(); 
e.stopPropagation(); 
e.preventDefault(); 

但是沒有一次成功。有沒有人有一個想法,爲什麼?

+0

你嘗試'panel.firevent( 'dragend')'或同類機構在'dragstart'或'拖動'事件? – Alex

+0

我不認爲firevent函數可以在面板對象上工作,可以嗎? –

+0

http://docs.sencha.com/touch/2-0/#!/api/Ext.mixin.Observable-method-fireEvent – Alex

回答

0

我終於改變在dragstart事件

dragstart: { 
    fn: function(){ 

    }, 
    order: 'before' 
}, 

return false;工作得很好......