gpt4 book ai didi

jQuery 命名空间全局变量

转载 作者:行者123 更新时间:2023-12-04 17:05:03 25 4
gpt4 key购买 nike

我对命名空间等很陌生,所以希望这会很简单。

我在 jQuery 悬停函数中有一个变量,需要提供给全局空间。

为了命名我的全局变量,我将此代码放在一个 JS 文件中,该文件出现在任何其他 JS 代码之前:

$(function() {

// Namespace
jQuery.icisBoard = {};

});

然后我在一个单独的 JS 文件中出现了一个工具提示函数:
// Tooltip function
$(function() {

$('.w_market_updates ul li a:contains("...")').addClass('tip_holder');

$(".tip_holder").hover(function() {

var $containerWidth = $(this).width();

var $offset = $(this).offset();

$.icisBoard.$thisTitle = $(this).attr('title');

$('#icis_dashboard').prepend('<div id="tooltip">' + $thisTitle + '</div>');

$(this).attr('title', '')

var $tipWidth = $('#tooltip').width();

var $tipHeight = $('#tooltip').height();

$('#tooltip').css({
'display': 'block',
'position': 'absolute',
'top': $offset.top - ($tipHeight + 5),
'left': $offset.left - ($tipWidth - $containerWidth) / 2
});

}, function() {

$('#tooltip').remove();

$(this).attr('title', $.icisBoard.$thisTitle)

});


});

这似乎对我不起作用,因为我知道悬停功能不起作用。我的范围都错了吗?在这种情况下,我什至不确定该变量是否可用于全局范围,如果我只有 $thisTitle而不是 $.icisBoard.$thisTitle该功能有效。

最佳答案

改变这一行:

$('#icis_dashboard').prepend('<div id="tooltip">' + $thisTitle + '</div>');


$('#icis_dashboard').prepend('<div id="tooltip">' + $.icisBoard.$thisTitle + '</div>');

您没有变量 $thisTitle .

看这里: http://jsfiddle.net/qna7W/

(我稍微改了一下,否则工具提示不会出现在 View 中)

关于jQuery 命名空间全局变量,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3415387/

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