gpt4 book ai didi

javascript - Jquery关于属性操作的问题

转载 作者:行者123 更新时间:2023-11-28 10:14:59 25 4
gpt4 key购买 nike

我是 jQuery 新手,无法找到解决问题的方法。我在我的网站中的一些 SVG 对象上使用 jQuery easytooltip。一切工作正常,但我需要在运行时更改工具提示的一些属性。我的 document.ready 函数是这样的:

$(document).ready(function () {
$("polygon").easyTooltip({
tooltipId: "easyTooltip2",
content: 'hello'
});
});

我希望能够(将鼠标悬停在多边形上)从多边形中读出属性并将它们传递到内容属性中,该内容属性在显示工具提示时显示...我如何访问内容值在运行时更改它?

我的插件代码现在看起来像这样:

(function ($) {

$.fn.content = function (_content) {

$(this).easyToolTip({ content: _content })
};

$.fn.easyTooltip = function (options) {

// default configuration properties
var defaults = {
xOffset: 10,
yOffset: 25,
tooltipId: "easyTooltip",
clickRemove: false,
content: "",
useElement: ""
};


var options = $.extend(defaults, options);
var content;


this.each(function () {
var title = $(this).attr("title");
$(this).hover(function (e) {
content = (options.content != "") ? options.content : title;
content = (options.useElement != "") ? $("#" + options.useElement).html() : content;
$(this).attr("title", "");
if (content != "" && content != undefined) {
$("body").append("<div id='" + options.tooltipId + "'>" + content + "</div>");
$("#" + options.tooltipId)
.css("position", "absolute")
.css("top", (e.pageY - options.yOffset) + "px")
.css("left", (e.pageX + options.xOffset) + "px")
.css("display", "none")
.fadeIn("slow")
}
},
function () {
$("#" + options.tooltipId).remove();
$(this).attr("title", title);
});
$(this).mousemove(function (e) {
$("#" + options.tooltipId)
.css("top", (e.pageY - options.yOffset) + "px")
.css("left", (e.pageX + options.xOffset) + "px")
});
if (options.clickRemove) {
$(this).mousedown(function (e) {
$("#" + options.tooltipId).remove();
$(this).attr("title", title);
});
}
});

};

})(jQuery);

最佳答案

你可以这样做:

$("polygon").mouseover(function() {

$("polygon").easyTooltip({
tooltipId: "easyTooltip2",
content: 'changedContent'
});

});

这将重新创建工具提示:更好的选择是仅修改内容,我将查看 api 看看是否可行。 (我认为无法使用插件提供的api来执行此操作,请重新创建工具提示)

关于javascript - Jquery关于属性操作的问题,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6788154/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com