javascript - 使用 jquery 更改 id 并删除点击事件

标签 javascript jquery

我有一个名为“登录”(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>

最佳答案

unbindbind 已弃用。您应该使用 off 取消绑定(bind),使用 on 进行绑定(bind)。

关于javascript - 使用 jquery 更改 id 并删除点击事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41651549/

相关文章:

javascript - 使用 jQuery/javascript 从 CRM 2011 获取记录

jquery - 如何使用jquery更改div内多个iframe的高度

javascript - 如何在ajax请求后更改主体的背景图像?

javascript - 在 usercontrol 页面上打开时,jquery 对话框没有关闭

javascript - 如何使用 jQuery 使 <button> 充当单选按钮

javascript - 如何在 Node JS 中编写非阻塞 if 语句?

Javascript Graph 未显示在主体中但显示在头部

javascript - KnockoutJS - 更新数组时表不更新

javascript - 找出加载了但未使用的 js 文件

javascript - 如何在scala函数中传递参数对象?