2

私が作成しているアプリケーションの場合、フォームが送信されたときにコンテンツをDIVに動的にロードする必要があります。

この動的にロードされるコンテンツには、ロード時に自動的に表示されるいくつかのツールチップが必要です(イベントがコンテンツをトリガーする必要はありません)。qTipを選択したのは、これを行うためのパラメーターがあるためです。これは、ツールチップをトリガーするイベント(onmouseoverなど)を必要とする他のほとんどのツールチップとは異なります。

これは、これを実現するために使用されるqTipコードです。

$(function(){
    $('#someelement')。qtip({
        内容:'これはメッセージです!'、
        show:{ready:true、when:false}、
        非表示:{false}、
        ポジション: {
            コーナー: {
                ターゲット:'topLeft'、
                ツールチップ:'bottomRight'
            }
        }、
        スタイル: {
                        ............ここのスタイリングコード................
            }
        }
    })
});

これは、私が試したどのような形や形でも問題なく機能します。ヒントが正常に表示されます。

ただし、このコードをコンテンツと一緒に動的にロードしている場合、ツールチップは表示されません。

コンテンツは、Malsupの優れたフォームとタコナイトプラグインを使用して読み込まれています。

どんなアイデアでも大歓迎です!

もちろん、同じ同様の効果を達成するために使用できる別のメソッドまたはプラグインを知っている場合は、それを提案することを躊躇しないでください。:)

4

1 に答える 1

2

私は以前にこの問題を抱えていましたが、これが私がそれを解決した方法です。プラグインコードを別の関数内に配置し、ドキュメントの準備ができたときに呼び出します。

$(function(){
    loadQtip();
});

function loadQtip() {
    $('#someelement').qtip({
        content: 'This is the message!',
        show: { ready: true, when: false },
        hide: { false },
        position: {
            corner: {
                target: 'topLeft',
                tooltip: 'bottomRight'
            }
        },
        style: {
                        ............ styling code here................
            }
        }
    })
}

次に、新しいデータを追加するときに、関数を再度呼び出します。

...
complete: function() {
    loadQtip();
}

クリック、変更などのイベントの場合、.live()メソッドは扱いますが、プラグインを要素に設定する場合、永続的なメソッドはありません。

于 2010-08-11T08:08:16.397 に答える