2012-12-12 142 views
4

我試圖在下面的工具提示上添加點擊監聽器。 我不希望鼠標懸停時顯示工具提示。相反,它需要按鈕單擊顯示。 我是否必須在偵聽器中添加處理函數?extjs4在按鈕單擊而不是鼠標懸停時顯示工具提示

{ 
        xtype: 'button', 
        cls:'my-btn', 
        iconCls:'question',      
        src:'../www/css/slate/btn/question.png', 
        padding: '5 0 0 0', 

        listeners: { 


         render: function(cmp) { 
          Ext.create('Ext.tip.ToolTip', { 
           closable:true, 
           hideDelay : 3000, 
           padding: '0 0 0 0', 
           maxWidth:400, 
           width:800, 

           target: cmp.el, 
           html: "<b>read-only</b>:Users will have read only access to all pages", 
           getTargetXY: function() { 
            return [810, 340]; 
           } 
          }); 
         } 

        } 


       }, 

回答

9

是的,click可以以編程方式顯示工具提示,跳過target並添加showAt()

... 

listeners: { 
    click: function(cmp) { 
     Ext.create('Ext.tip.ToolTip', { 
      closable:true, 
      hideDelay : 3000, 
      padding: '0 0 0 0', 
      maxWidth:400, 
      width:800, 
      html: "<b>read-only</b>:Users will have read only access to all pages", 
     }).showAt([810, 340]); 

    } 
} 

如果您不需要自動隱藏(你的提示是關閉的反正)你可以使它只是一個Ext.tip.Tip

 Ext.create('Ext.tip.Tip', { 
      closable:true, 
      padding: '0 0 0 0', 
      maxWidth:400, 
      width:800, 
      html: "<b>read-only</b>:Users will have read only access to all pages", 
     }).showAt([810, 340]); 
+0

謝謝AndreKR!這對我來說非常合適! – Micheal

+0

你給靜態位置'showAt',如果我想要顯示從鼠標點擊或按鈕獲得的動態位置? –

+0

完全相同,只需輸入要顯示的工具提示的座標即可。 – AndreKR

相關問題