我遇到了jquery.droppy()和AJAX的问题。
我有一个HTML菜单:
<ul id="nav">
<li><a id="toplev" href="/viewpage/69">Level 1</a>
<ul>
<li><a href="/viewpage/138">Level 2</a>
<ul>
<li><a href="/viewpage/149">Level 3-1</a></li>
<li><a href="/viewpage/150">Level 3-2</a></li>
<li><a href="/viewpage/148">Level 3-3</a></li>
<li><a href="/viewpage/139">Level 3-4</a></li>
</ul>
</li>
</ul>
</li>
</ul>
因此,我在scripts.js文件中调用了droppy函数:
$(function() {
$('#nav').droppy();
});
而且一切都很好
我运行ajax调用:
function reloadNavBar() {
$.get('reloadnavbar',function(response) {
document.getElementById('nav').innerHTML = response;
}
);
$('#nav').droppy();
};
从而更新菜单:
<ul id="nav">
<li><a id="toplev" href="/viewpage/69">Level 1</a>
<ul>
<li><a href="/viewpage/138">Level 2</a>
<ul>
<li><a href="/viewpage/149">Level 3-1</a></li>
<li><a href="/viewpage/150">Level 3-2</a></li>
<li><a href="/viewpage/148">Level 3-3</a></li>
<li><a href="/viewpage/139">Level 3-4</a></li>
<li><a href="/viewpage/139">Level 3-5</a></li> //This line added
</ul>
</li>
</ul>
</li>
</ul>
现在,菜单没有像ajax调用之前那样展开。我可以单击“级别1”链接,它可以正常工作,只是不会在悬停时扩展选择范围。
有什么建议么?
参考方案
您需要在AJAX调用完成并且DOM更新之后重新初始化插件:
function reloadNavBar() {
$.get('reloadnavbar', function(response) {
$('#nav').html(response).droppy();
});
};
您当前的代码尝试在AJAX完成之前进行重新初始化,因为它在回调函数之外。
php Singleton类实例将在多个会话中保留吗? - php举一个简单的例子,如果我想计算一个不使用磁盘存储的脚本的命中次数,我可以使用静态类成员来执行此操作吗?用户1:<?php $test = Example::singleton(); $test->visits++; ?> 用户2:<?php $test = Example::singleton(); $test->visits+…
通过>和<运算符比较日期 - php在我的所有php代码中,我都在UTC中存储日期和时间,但是我也在使用mysql存储日期时间(也在utc中)。大于和小于运算符会导致日期比较失败吗? $curdate=date('Y-m-d H:i:s'); if($start_datetime>$curdate) 参考方案 不。他们没有办法失败。为此,特意制作了MySQL日期格式。…
使用jquery计算<id>中的总图像 - php我有一个div,里面有一些图像,例如<img src= etc我想计算该div中的图像总数。我也想使用PHP将这些图像ID保存到mysql中...谢谢 参考方案 要计算它们,您可以执行以下操作:alert($('#myDiv img').length); 要将所有id捕获到数组中,可以执行以下操作:var ids = []; $(&…
PHP:检查谁看过发送的电子邮件? - php我正在向某些用户发送电子邮件,并且想知道是谁阅读的,这意味着如果有人阅读了该电子邮件,则将维护一个日志文件,其中包含该用户的电子邮件地址以及日期/时间/ IP。为此,我发送一个带有电子邮件(html模板)的javascript函数,当用户打开该电子邮件时,它仅会警告用户的电子邮件地址,例如:for($n=0; $n<sizeof($checkBox);…
PHP PDO组按列名称查询结果 - php以下PDO查询返回以下结果:$db = new PDO('....'); $sth = $db->prepare('SELECT ...'); 结果如下: name curso ABC stack CDE stack FGH stack IJK stack LMN overflow OPQ overflow RS…