我在门户网站环境中使用jQuery cluetip插件,门户网站页面上可以有多个portlet实例。每个portlet都是它自己的应用程序,因此它对其他portlet一无所知。每个portlet都需要使用cluetip插件,因此它会在需要时加载它。问题是,当cluetip脚本多次加载时,会产生以下错误:
$cluetip is undefined
我知道一个可能的解决方案是检查插件是否已经加载,但我尝试过的每次检查都失败了。我试过了:
if(jQuery.cluetip), if(jQuery().cluetip), if(jQuery.fn.cluetip), if(jQuery().fn.cluetip)
并且它们都不起作用。他们都返回undefined。
如何检查插件是否已加载?或者,我可以实施另一种解决方案吗?
答案 0 :(得分:0)
您是否在文档就绪功能中使用了cluetip?
$(function() {
$('a.tips').cluetip();
});
根据您在上面发布的代码,您似乎没有正确使用cluetip。您真的不需要检查插件是否已加载。如果您的标题中有脚本:
<script src="jquery.js" type="text/javascript"></script>
<script src="jquery.cluetip.js" type="text/javascript"></script>
然后你只需要在上面的例子中选择你想要提示的内容('a.tips'),它应该可以正常工作。
如果您发布Javascript和HTML,我可以为您提供更好的答案。
答案 1 :(得分:0)
查看来自cuetip网站的来源:
<script type="text/javascript">
$(document).ready(function() {
$('a.tips').cluetip();
$('#houdini').cluetip({
splitTitle: '|', // use the invoking element's title attribute to populate the clueTip...
// ...and split the contents into separate divs where there is a "|"
showTitle: false // hide the clueTip's heading
});
});
</script>
<link rel="stylesheet" href="jquery.cluetip.css" type="text/css" />
需要注意的是,加载的第一件事是jQuery.js,然后是cuetip。
确保你的html看起来一样,并确保cuetip AND jQuery正常加载。