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

您需要重新触发 mouseover 事件。

$("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 回答