1

我有一个这样的链接

<a href="" id="permalink">permalink</a>

我已经像这样绑定了一个 qtip2

$("#permalink").qtip({
    content: {
        text: "Loading...",
        ajax: {
            url: "http://server/app",
            type: "GET",
            data: {
                "uri": $(this).attr("href")
            },
            success: function(data, status) {
                this.set(data);
            }
        }
    }
})
.click(function(event) {
    event.preventDefault();
});

href 由其他一些代码(实际上是 OpenLayers 中的永久链接控件)动态更新。如果我在没有 qtip 的情况下单击永久链接,我会得到正确的 href。然而,使用 qtip,$(this).attr("href") 什么也得不到。它未设置。如何让 qtip 接收动态计算的 href?

4

2 回答 2

2

使用“每个()”。你应该有正确的 $(this) 范围然后......

$("#permalink").each(function() {
    $(this).qtip({
        content: {
            text: "Loading...",
            ajax: {
                url: "http://server/app",
                type: "GET",
                data: {
                    "uri": $(this).attr("href")
                },
                success: function(data, status) {
                  this.set('content.text', data);
                }
            }
        }
    })
})
.click(function(event) {
    event.preventDefault();
});
于 2012-06-17T19:54:14.180 回答
0

上述解决方案工作正常,但有以下更改。我已经验证了这个最新的稳定版本(v2.0.1)。

而不是 this.set(data); 使用 this.set('content.text', data);

于 2013-05-03T04:10:13.713 回答