我在这里使用以下脚本:http://8wayrun.com/wiki/algol/
XenForo.register('.ToggleContents', 'XenForo.ToggleContents');
XenForo.ToggleContents = function($toc)
{
var hideText = 'hide';
var showText = 'show';
var isVisible = true;
$toc.ready(function() {
$toc.find(':first').append('<span class="toggle">(<a href="#">'+hideText+'</a>)</span>');
});
$toc.find('.toggle:first').click(function(e)
{
e.preventDefault();
if (isVisible = !isVisible)
{
$toc.find('.toggle a:first').html(hideText);
$toc.find('.contents:first').slideDown();
}
else
{
$toc.find('.toggle a:first').html(showText);
$toc.find('.contents:first').slideUp();
}
});
}
它的功能非常简单。它做的第一件事就是将<span class="toggle">hide</a>
链接附加到任何具有“.ToggleContents”类的div ...这样做非常完美。
它接下来要做的就是获取它刚刚创建的链接,阻止默认功能并将其更改为隐藏/显示链接。这在jQuery 1.4.x中运行得很好。但是,在jQuery 1.5.x中,它根本不起作用。 e.preventDefault()
永远不会运行......
这告诉我.find('.toggle:first')
在1.5.x中不起作用。有谁知道我现在应该使用什么?
答案 0 :(得分:1)
我想出来......在1.5.x中这是必需的,但不是在1.4.x中......非常奇怪。
我所做的是将$toc.find('.toggle:first').click(function(e)
移到$toc.ready(function()
内,现在一切都运转良好。