我有以下代码根据用户是否被记录的事实显示链接:
<?php if(NOT LOGGED){ ?>
<div id="menu"><ul><li><a class="login-button" href="login">LOGIN</a></li></ul></div>
<?php }else{ ?>
<div id="menu"><ul><li><a class="logout-button" href="logout">EXIT</a></li></ul></div>
<?php } ?>
单击“登录按钮”时,我调用一个成功的JQuery函数将其替换为以下
<div id="menu"><ul><li><a class="logout-button" href="logout">EXIT</a></li></ul></div>
这是js
$.ajax({
url: 'login.php',
type: 'POST',
dataType: "json",
success: function (data) {
$('#menu').html('<ul><li><a class="logout-button" href="logout">EXIT</a></li></ul>');
},
error: function (data) {
alert('An Error occurred');
}
});
问题是,当我点击JQuery创建的注销链接时,它不起作用。
它仅在页面刷新并且实际上由php
替换时才有效任何想法为什么?
答案 0 :(得分:0)
不确定是否可以解决问题,但是你在成功函数中删除了'ul'
$('#menu').html('<li><a class="logout-button" href="logout">EXIT</a></li>');
应该是
$('#menu').html('<ul><li><a class="logout-button" href="logout">EXIT</a></li></ul>');
答案 1 :(得分:0)
不确定你是否正确绑定了事件(正如@Lorenzo S所说)但这确实让我想起了.live
解决的问题:
直到最近,该功能才是您想要的功能,但是自从jQuery 1.7以来它已被.on
取代: