2

これを正しく機能させることができないようです。

DOMへのリンクをいくつか書いています(jsonファイルをループしてDOMに追加します)。次に、ホバー時にツールチップをトリガーするためにそれらの要素が必要です。

この方法の良い例はどこにも見当たりません。手がかりのサイトには、aを探して手がかりを呼び出す簡単な例が示されています。これを行うには、.liveまたは.delegateの方法が必要だと思います。

$("body").delegate("a.toolTip", "mouseover", function (event) {

            $('a.toolTip').cluetip({
                showTitle: false,
                attribute: 'title',
                local: false
                });

            event.preventDefault();

        });

しかし、これは最初のマウスオーバーをトリガーせず、「申し訳ありませんが、コンテンツをロードできませんでした」というメッセージが表示されます。

何か案は?

ありがとう

4

1 に答える 1

4

マウスオーバーイベントを再トリガーする必要があります。

$("body").delegate("a.toolTip", "mouseenter", function (event) {
    $('a.toolTip').cluetip({
        showTitle: false,
        attribute: 'title',
        local: false
    }).trigger("mouseenter");

    event.preventDefault();
});

追加のニッチなもの:

event.preventDefault()最初に来る必要があり、プラグインが複数回適用されないようにする必要があります。

$("body").delegate("a.toolTip:not(.hasTooltip)", "mouseenter", function (event) {

    $('a.toolTip').cluetip({
        showTitle: false,
        attribute: 'title',
        local: false
    }).addClass("hasTooltip").trigger("mouseenter");
    event.preventDefault();
});

編集:mouseoverはmouseenterである必要があり、event.preventDefaultは実際には最後である必要があります。これにより、失敗した場合でもデフォルトのツールチップが機能します。

于 2012-07-10T20:34:40.223 に答える