0

これを使用してdivで表示するにはどうすればよいですか:

HTML

<div class='clickable'>Tap me</div>

JS コード (タップは上の div 要素に接続されています)

tap      : function(e) {
    overlay = Ext.Viewport.add({
        xtype: 'panel',
        left: 0,
        top: 0,
        modal: true,
        hideOnMaskTap: true,
        hidden: true,
        width: 260,
        height:'70%',
        html: 'STUFF!!',
        styleHtmlContent: true,
        scrollable: true,
        items: [
            {
                docked: 'top',
                xtype: 'toolbar',
                title: 'Overlay Title'
            }
        ]
    });

    overlay.showBy(e.getTarget());
}

ただし、これは悪夢です。e.getTarget()またはe.targetでこれらのエラーが発生します。動作し.show()ますが、位置が間違っています。これを行う正しい方法は何ですか?

Uncaught TypeError: Object #<HTMLTableCellElement> has no method 'getPageBox' 
4

3 に答える 3

0

おそらく、HTML div タグでイベント委任を使用したいと思うでしょう。したがって、div タグに ID を指定できます。

<div class='clickable' id='myId'>Tap me</div>

listeners : {
    tap: {
        fn: function() {},
        element: 'element',
        delegate: '#myId'
    }
}
于 2013-02-09T05:25:03.537 に答える