我有一个名为“登录”(id="log")
的菜单和一个名为“连接”(id="connect")
的子菜单。如果我单击“连接”,则会显示一个表单。现在,当用户登录成功时,我想更改用户名的名称菜单“登录”和“收件箱”的“连接”,这可以工作,但我需要更改两个 ID 并删除
事件监听器 $('#connect').click(function(e) {}
因为用户已连接,并且我需要在“收件箱”中添加一个新事件,例如
$('#inbox').click(function(e) { alert("You click on inbox"); });
Javascript
$(document).ready(function() {
function Login() {
this.loadForm = function() {
$("#response-container").load("formLogin.php", function() {
$("#formLogin").submit(function(event) {
var user = $("#username").val();
var pass = $("#password").val();
event.preventDefault();
searchData(user, pass);
});
});
}; //END loadForm FUNCTION
var searchData = function(user, pass) {
getdetails(user, pass)
.done(function(response) {
if (response.success) {
$.each(response.data.users, function(key, value) {
$("#log").text(value['userName']);
$("#connect").text('inbox');
//HERE I WANT TO REMOVE CLICK EVENT FROM #conect and i want to
//change his 'id' for a new id called 'inbox' and add a new
//click event listener
});
} else {
alert("Fail");
}
})
.fail(function(jqXHR, textStatus, errorThrown) {
});
}; //END FUNCTION searchData
var getdetails = function(id, password) {
return $.getJSON("20.php", {
"id": id,
"password": password
});
} //END FUNCTION getdetails
}; //END LOGIN CLASS
//LISTENERS
$('#connect').click(function(e) {
e.preventDefault();
var login = new Login();
login.loadForm();
});
});
html
<!DOCTYPE html>
<html lang="es-ES"><html>
<head>
<meta charset="utf-8">
<link rel="stylesheet" type="text/css" href="21-12-16.css">
<script src="//code.jquery.com/jquery-latest.js"></script>
<script src="20.js"></script>
<title>Menu</title>
</head>
<body>
<div id="header">
<ul class="nav">
<li><a href="">Home</a></li>
<li><a href="" id="log">LOGIN</a>
<ul>
<li><a href="" id="connect">Conect</a>
</li>
</ul>
</li>
</ul>
</div>
<div id="response-container"></div>
</body>
</html>
最佳答案
unbind
和 bind
已弃用。您应该使用 off
取消绑定(bind),使用 on
进行绑定(bind)。
关于javascript - 使用 jquery 更改 id 并删除点击事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41651549/