jQueryUI工具提示正在与Twitter Bootstrap竞争。

8 浏览
0 Comments

jQueryUI工具提示正在与Twitter Bootstrap竞争。

最终我成功地使用以下代码让一些工具提示正常工作:

将鼠标悬停在我上面

然后


我遇到的问题是它使用了jQueryUI的工具提示(没有箭头,而是很丑的工具提示),而不是Bootstrap的。

我需要做什么才能使用Bootstrap的工具提示,而不是jQueryUI的?

0
0 Comments

问题的出现原因是jQuery UI和Bootstrap都使用了相同的名称tooltip作为插件的名称,导致命名冲突。解决方法是使用$.widget.bridge为jQuery UI版本创建一个不同的名称,并允许Bootstrap插件保持名称为tooltip。下面是解决方法的代码示例:







然后可以通过以下方式实例化jQuery tooltips:

$('.someclass').uitooltip();

如果使用webpack捆绑和压缩代码,可以在引入bootstrap.js之前将jquery-ui.js放在前面。

此外,还提到了一些其他的解决方法:

1. 如果使用ASP.Net MVC,可以在Layout.cshtml页面进行以下更改:

@Scripts.Render("~/bundles/jquery")
@Scripts.Render("~/bundles/jqueryui")

@Scripts.Render("~/bundles/bootstrap")

2. 在2020年的解决方案中,使用Bootstrap 4.5和jQuery UI 1.12.1,只需要颠倒加载.js文件的顺序即可解决。

希望以上内容能帮助解决jQuery UI Tooltips与Twitter Bootstrap之间的竞争问题。

0
0 Comments

问题出现的原因:jquery-ui的tooltips与Twitter Bootstrap冲突。

解决方法:在加载jquery-ui.js之前,将jquery.fn.tooltip赋值给_tooltip,然后加载jquery-ui.js之后,将_tooltip赋值给jQuery.fn.tooltip。

如果你必须在加载bootstrap.js之后加载jquery-ui.js,那么可以按照以下方法操作:






这样就可以覆盖jquery-ui的tooltip,始终使用bootstrap的tooltip。

在这个解决方案中,ui tooltip将被bootstrap覆盖,但是如果有人不想被覆盖,就必须使用之前的解决方案。

有一天,你会发现使用这种方法时,对话框中的关闭图标会消失。可以参考stackoverflow.com/questions/17367736/…

这是一个很好的解决方案!对于那些需要在布局页面中加载bootstrap并在各个页面中加载jquery-ui的页面进行修复时,这个解决方案更加简洁。虽然在jquery-ui(我猜是)的css覆盖bootstrap的css时还存在一些问题(字体太大,tooltip周围有一个白色方块),但这已经很接近完美了。

0
0 Comments

问题的出现的原因是因为jQueryUI的Tooltips和Twitter Bootstrap的Tooltips之间存在竞争。解决方法是将bootrap.js文件在jquery-ui.js文件后加载,这样bootstrap中的.tooltip方法将优先生效。同时,在HTML中添加一个注释,说明必须按照特定的顺序加载这两个库。

但是,这种解决方法并不适用于所有情况。有人在使用Chrome浏览器时尝试了上述解决方法,但仍然出现了问题。有时候清除缓存并刷新页面之后,Tooltip可以正常工作,而有时候则不行(控制台没有报错信息)。在刷新了30次页面后,只有7次出现了正常的结果。为了解决这个问题,有人下载了一个定制的jQuery UI包,这样在清除缓存并刷新页面30次后,所有的30次都得到了正常的结果,且没有任何错误。这位用户还补充说,他同时使用了require.js,这样可以轻松控制库的加载顺序。

总结起来,解决这个问题的最简单逻辑的方法是将bootrap.js文件加载在jquery-ui.js文件之后。然而,这种解决方法可能不适用于所有情况。如果仍然出现问题,可以尝试下载一个定制的jQuery UI包,同时使用require.js来控制库的加载顺序。这些方法可以解决jQueryUI Tooltips和Twitter Bootstrap之间的竞争问题,使它们能够正常工作。

0