2011-11-18 35 views
2

我只是想在我的應用程序中添加超鏈接。我試了下面的代碼,鏈接出現在頁面中。但點擊事件不起作用。任何人都可以告訴我可能是什麼原因?在ExtJS中添加偵聽器到超鏈接

xtype:'box', 
isFormField: true, 
id: "prospectStageLink", 
style: "padding: 3px", 
autoEl:{ 
    //html: '&nbsp;<a href>Link To Prospect</a>' 
    tag: 'a', 
    href: '#', 
    cn: 'Link To Prospect' 
}, 
listeners: { 
    render: function(c){ 
     c.on('click', function(e){ 
      alert('clicked', 'hiii'); 
     }, c, { stopEvent: true }); 
    } 
} 

回答

2

試試這個:

listeners: { 
    render: function(component) { 
     component.getEl().on('click', function(e) { 
      alert('test'); 
     });  
    } 
} 
+0

奏效。但是當我在click事件函數中調用一個函數時,它不起作用。爲什麼? – spv

+0

你試圖調用什麼函數?請檢查您的函數的範圍 – MMT

+0

函數僅在那個javascript中定義的函數..在超鏈接定義的面板外側。 – spv

0

我假設你沒有在ExtJS 4上運行,因爲BoxComponent已從中刪除。

無論如何,簡單的解釋可能是BoxComponent沒有click事件。您可能想嘗試使用Element,而該支持click事件。

0
xtype:'box', 
isFormField: true, 
id: "prospectStageLink", 
style: "padding: 3px", 
autoEl:{ 
    //html: '&nbsp;<a href>Link To Prospect</a>' 
    tag: 'a', 
    href: '', 
    onClick: 'nameYouFunction' 
}