Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/396.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 多个jQuery工具提示相互干扰_Javascript_Jquery_Jquery Tooltip - Fatal编程技术网

Javascript 多个jQuery工具提示相互干扰

Javascript 多个jQuery工具提示相互干扰,javascript,jquery,jquery-tooltip,Javascript,Jquery,Jquery Tooltip,我使用下面的代码有不同的工具提示,但每个元素只有一个工具提示。 如果我只使用其中的一个,它们就工作得很好。但总的来说,它们不能正常工作(出现在错误的位置,使用错误的类,等等) HTML(示例) 到目前为止,我发现,当全部使用时,只有最后一个(底部)始终有效。对于其他人,我不在乎是否提供选项 -- 如何让它们一起工作?试着用data toggle=“tooltip”标记所有工具提示,然后用一行jquery将它们全部激活 $(function () { ... $("[da

我使用下面的代码有不同的工具提示,但每个元素只有一个工具提示。 如果我只使用其中的一个,它们就工作得很好。但总的来说,它们不能正常工作(出现在错误的位置,使用错误的类,等等)

HTML(示例)



到目前为止,我发现,当全部使用时,只有最后一个(底部)始终有效。对于其他人,我不在乎是否提供选项

--


如何让它们一起工作?

试着用
data toggle=“tooltip”
标记所有工具提示,然后用一行jquery将它们全部激活

$(function () {

    ...

    $("[data-toggle='tooltip']").tooltip(options);
});
要使用此技术实现不同的位置,请在具有工具提示的元素上使用
data-*
模式,并以这种方式指定位置。我相信它是
data placement=“center top”
之类的东西

<a data-placement="center top" data-toggle="tooltip" href="#" data-original-title="Tooltip on top center">Tooltip on top center</a>

通过这种方式,您不需要为每个放置设置不同的选项集,您可以在选项中设置默认放置,然后覆盖需要自定义放置的元素。

通过“克隆”
选项解决了此问题。即使在初始化之后,它们也相互干扰

$('.jui-tooltip-top').tooltip($.extend(true, {}, options, {
    position: {
        my: 'right center',
        at: 'left-' + space + ' center'
    },
    tooltipClass: 'horizontal'
}));

// etc

非常感谢,我会试试的!我需要使用
data toggle=tooltip
吗?或者我也可以为这个类使用任意CSS类吗?在哪里使用
data placement
属性记录了这一点?如果您使用的是bootstrap 3,我在任何地方都找不到它,这里有文档记录:如果您使用的是bootstrap 2.3.2,这里有文档记录:对不起,我根本没有使用bootstrap,如果您对最后一行
/$('.jui tooltip')进行注释。tooltip(选项)其他三个工作正常吗?@JoseRuiSantos我添加了一些HTMLexamples@JoseRuiSantos如果我评论最后一行,它不会改变任何东西。但是如果我对最后3个区块进行评论,那么第一个区块是有效的。另外,如果我对前3个块进行注释,那么最后一个块可以工作,等等。您的代码看起来不错。你应该做些别的错事。过来看
<a data-placement="center top" data-toggle="tooltip" href="#" data-original-title="Tooltip on top center">Tooltip on top center</a>
$('.jui-tooltip-top').tooltip($.extend(true, {}, options, {
    position: {
        my: 'right center',
        at: 'left-' + space + ' center'
    },
    tooltipClass: 'horizontal'
}));

// etc