1

いくつかの質問と記事によると、単純にtip.html = 'new value';機能するはずですが、いくつかの理由で私には当てはまりません。

tip.htmlここでは、一度レンダリングされた後、変更によってヒントの本体が変更されないことを示すデモを作成しました。

http://jsfiddle.net/zcYqe/1/

再現する手順:

シナリオ 1:

  1. 赤い四角の上にマウスを移動すると、ヒントが表示されます
  2. ボタンを押す
  3. ヒントが変更されていないことを確認してください

シナリオ 2:

  1. ボタンを押す (しない - 赤い四角の上にマウスを置かないでください)
  2. ヒントの値が変更されたことを確認します

私は何が欠けていますか?実行時にどのように変更しますか (シナリオ 1)?

4

2 に答える 2

0

beforeshowこれは、ExtJS 4.2.x (およびおそらくそれ以前)のリスナーで実現できます。

var changeCount = 1;

var tip = Ext.create('Ext.tip.ToolTip', {
    target: 'hoverme',
    html: 'Press this button to clear the form',
    listeners: {
        // Change content dynamically depending on which element triggered the show.
        beforeshow: function updateTipBody(tip) {
            tip.update( "Changed " + changeCount + " times" );
            changeCount ++;
        }
    }

});

document.getElementById('btn').addEventListener('click', function(e) {
    tip.html = 'new';
    return false;
})
于 2014-09-12T19:34:05.800 に答える