単純な古い HTML リンクからイベント (カード ビューを切り替えたい) を起動するにはどうすればよいですか?
コントロール セクションで ID でリンクを参照すると、試したイベント (クリック、タップ) がトリガーされないようです。
ありがとう!
単純な古い HTML リンクからイベント (カード ビューを切り替えたい) を起動するにはどうすればよいですか?
コントロール セクションで ID でリンクを参照すると、試したイベント (クリック、タップ) がトリガーされないようです。
ありがとう!
リンクをレンダリングしたら、次の方法でイベント リスナーを追加できます。
Ext.get('[link id here]').on('click', function(){...}, this);
アップデート
ユーザーがハイパーリンクをクリックしたときにイベントを発生させたい場合は、単に追加できますが、この関数this.fireEvent('[name of event here]');
のキーワードの意味を認識しthis
ているため、リスナーを適切に追加することができます...それは理にかなっていますか?
リンクを含むパネルにクリック リスナーを追加します。この例では、タグに「リンク」クラスがあります。jQuery で行われているように、独自のクラス/ID で置き換えることができます。
listeners: {
scope: this,
itemtap: this.onItemtapAction,
click: {
element: 'el',
fn: function (e) {
if (e.getTarget('a.link')) {
// Switch cards here
}
}
}
簡単な Java Script を使用して、リスナーをリンクに追加しました。
まず、コンテナ コンポーネントの「アクティブ化」リスナーを作成しました。
...
listeners: {
activate: function (newActiveItem, container, oldActiveItem, eOpts) {
this.onActivate(newActiveItem, container, oldActiveItem, eOpts);
}
}
...
そして、ここに私の機能があります:
onActivate: function (newActiveItem, mainNavView, oldActiveItem, eOpts) {
var me = this;
document.getElementById('logOutLink').addEventListener("click",
function(){
me.onLogOut();
}, false);
},
onLogOut:function(){
alert('log out');
}