3

私は、手がかりのヒントが実際にどのように機能するかを理解しようとしています。私はダミーのDOM構造を持っており、アンカー要素でcluetip('destroy')が呼び出された後にclutipが削除されたかどうかを確認するためにいくつかのアラートを実行しました。ただし、cluetip div はまだ健在のようです。これは本当に私を混乱させます...

私が間違っている場合は訂正してください...私の知る限り、cluetipにはWebページに1つのインスタンスがあり、タグの階層に存在します。最初にhtml要素(私の場合はアンカー)に追加されると、DOM構造のどこかに追加されます。

質問: html要素でcluetip('destroy')を呼び出すと、実際に手がかりヒントが削除されますか、それとも手がかりヒントのある種の変数を削除/リセットしますか(そうであれば、どの変数)? それとも、私はここで完全に軌道から外れていますか?

ありがとう。

4

2 に答える 2

3

destroy 関数が行うのは、イベント トリガーを削除することだけのようです (28 ~ 30 行目)。

if (js == 'destroy') {
  return this.unbind('.cluetip');
}

手がかりヒントのデータがなくなっていることを確認したい場合は、自分で消去してください。

$('#cluetip-inner').empty();

更新: 要素に何かバインドされているかどうかの確認に関する質問に答えるために、 James Padolsey のサイトから見つけたものを紹介します。

// List bound events:
console.dir( jQuery('#elem').data('events') );

// Log ALL handlers for ALL events:
jQuery.each($('#elem').data('events'), function(i, event){
    jQuery.each(event, function(i, handler){
        console.log( handler.toString() );
    });
});

*注: はconsoleFirebug コンソールを参照しています。

于 2009-12-23T02:38:38.827 に答える
3

次のことを試してください。

$(this).cluetip('destroy'); 
$(this).remove(); 

remove() 関数もイベントのバインドを解除する必要があります。

于 2009-12-23T02:41:05.623 に答える