jQuery Tooltip插件错误
我编写了这段代码,将’jQuery Tooltip插件’应用于ajax加载的元素。
我的意思是我要在其鼠标hover上显示工具提示的行由ajax加载到页面中。 这是代码:
$("[id^=pane]").delegate("[id^=comm]","mouseover",function() { $(this).tooltip({ // each trashcan image works as a trigger tip: "#tooltip", // custom positioning position: "center right", // move tooltip a little bit to the right offset: [0, 15], // there is no delay when the mouse is moved away from the trigger delay: 0 }).dynamic({ bottom: { direction: "down", bounce: true } }); });
鼠标hover时显示工具提示但firebug报告此错误:
“$(this).tooltip({tip:”#tooltip“,position:”center right“,offset:[0,15],delay:0})。dynamic is not function”
是因为使用$(this)???
问题是您没有加载dynamic
函数。 从jQuery工具文档 :
动态插件和幻灯片效果不包含在标准jQuery Tools发行版中。 您必须下载自定义组合才能包含这些效果。
此外,您不需要delegate
电话。 您正在重做每次鼠标hover时的tooltip
创建。 你只需要做一次; 插件将在内部处理事件。
$("[id^=pane] [id^=comm]").tooltip({/*...*/}) .dynamic({/*...*/});
这将选择所有带有ids开头comm
的元素,这些元素是具有ids开始pane
的元素的子元素。 请注意,向所有这些元素添加适当的类会显着加快您的选择速度。
它现在解决了,我在谷歌搜索更多,并找到了解决方案。
这里是:
$("[id^=pane]").delegate("[id^=comm]:not(.hastooltip)","mouseover",function() { $(this).addClass("hastooltip").tooltip({ tip: "#tooltip", position: "bottom center", offset: [-10, 0], delay: 0 }).dynamic({ bottom: { direction: "down", bounce: true } }).mouseover(); });