2012-07-13 77 views
0

我有難度設置上的隱藏事件的元素(面板)的HTML在煎茶觸摸2.Ext.getCmp不工作YouTube上的視頻煎茶的隱藏觸摸

刪除一個iFrame的Youtube視頻隱藏事件正在工作,並被調用,因爲我有一個Ext.Msg.alert在被調用的隱藏功能,它的工作原理,但我不能停止隱藏視頻。

這是我的面板的代碼:

Ext.define('TCApp.view.MyPanel0', { 
extend: 'Ext.Panel', 
alias: 'widget.mypanel0', 

config: { 
    hideOnMaskTap: true, 
    scrollable: false, 
    items: [ 
     { 
      xtype: 'panel', 
      html: '<iframe width="560" height="315" src="http://www.youtube.com/embed/-gv9RicOHNQ" frameborder="0" allowfullscreen></iframe>', 
      itemId: 'videopanel', 
      hideOnMaskTap: true 
     } 
    ] 
} 

});

在我的控制器我有這樣的:

Ext.define('TCApp.controller.MyController', { 
extend: 'Ext.app.Controller', 
config: { 
    control: { 
     "#dataview": { 
      itemtap: 'onDataviewItemTap' 
     }, 
     "mypanel0": { 
      hide: 'onVideopanelHide' 
     } 
    } 
}, 

等等

這:

onVideopanelHide: function(component, options) { 
    Ext.Msg.alert('Test onhide event'); <-- working hide event called 

    Ext.getCmp('videopanel').setHtml(""); 
    Ext.getCmp('videopanel').setHtml('<div id="video1"><iframe width="560" height="315" src="http://www.youtube.com/embed/NSUucup09Hc?fs=1&amp;hl=en_US&amp;rel=0&autoplay=0" frameborder="0" allowfullscreen></iframe></div><img src="resources/images/thapelo3Fy.jpg" />'); 

} 

的Ext.getCmp沒有工作,雖然,我得到的錯誤:「類型錯誤:'undefined'不是對象(評估'Ext.getCmp('videopanel').setHtml')'

面板I a試圖設置HTML上有一個'視頻面板'的itemid,所以我不知道什麼是錯的。有任何想法嗎?

我仍然在隱藏事件上播放我的iFrame Youtube視頻,我想將其完全刪除。

我也試過'Ext.getCmp('videopanel')。destroy();'但是我得到了與上面相同的錯誤。我只有ITEMID設置爲videopanel並沒有其他IDS ...提前爲任何幫助

謝謝...

回答

1

嘿@Digeridoopoo只是一個改變成MyPanel0,

代碼

itemId: 'videopanel', 

到:

id: 'videopanel', 

我做了一個類似於這樣的代碼和山姆的代碼在您的控制器上使用onVideopanelHide方法。

Ext.define('myapp.view.MyPanel0', { 
    extend: 'Ext.Panel', 
    xtype: 'mypanel0', 

    config: { 
     hideOnMaskTap: true, 
     scrollable: false, 
     items: [ 
     { 
      xtype: 'panel', 
      html: '<iframe width="560" height="315" src="http://www.youtube.com/embed/-gv9RicOHNQ" frameborder="0" allowfullscreen></iframe>', 
      id: 'videopanel', 
      hideOnMaskTap: true 
     }, {html: '<br/>'}, 
     { 
      xtype: 'button', 
      text: 'Change Video', 
      width: '55%', 
      handler: function() { 
       Ext.getCmp('videopanel').setHtml('') 
       Ext.getCmp('videopanel').setHtml('<div id="video1"><iframe width="560" height="315" src="http://www.youtube.com/embed/NSUucup09Hc?fs=1&amp;hl=en_US&amp;rel=0&autoplay=0" frameborder="0" allowfullscreen></iframe></div><img src="app/images/home.png" />') 
      } 
     }, {html: '<br/>'}, 
     { 
      xtype: 'button', 
      text: 'Video Stop', 
      width: '55%', 
      handler: function() { 
       Ext.getCmp('videopanel').hide() 
      } 
     } 
    ] 
    } 
}); 

我希望這有助於。 :)

enter image description here

enter image description here

enter image description here

+0

唉唉這樣的itemid是問題!現在,Ext getCmp對我來說更加清晰。我一直在擺弄這一段時間,非常感謝+1 :-) – Digeridoopoo 2012-07-15 09:00:38