id改变后的听力事件

时间:2016-12-14 11:38:17

标签: javascript jquery

我想在单击按钮'A'时修改按钮'B'的Id,并使用Jquery监听'B'的click事件,但我的代码不起作用, 这是我的代码示例:

$(function() {

    $(".nuttonA").click(
        function() {

            $("#buttonB").attr("id","notButtonB");
        });

    $("#notButtonB").click(function(){
        console.log(" notButtonB is clicked "); //show nothing
    });
});

2 个答案:

答案 0 :(得分:1)

目前您使用的是" direct"绑定,它只会附加到代码进行事件绑定调用时页面上存在的元素。

您需要在操作属性时使用委托事件方法使用Event Delegation

一般语法

$(document).on('event','selector',callback_function)

实施例

$(document).on('click', ".nuttonA", function(){
    $("#buttonB").attr("id","notButtonB");
});
$(document).on('click', "#notButtonB", function(){
    //Your code
});

代替document,你应该使用最近的静态容器。

答案 1 :(得分:1)

我认为你需要事件授权。试试这个:

$(function() {

    $(".buttonA").click(
        function() {

            $("#buttonB").attr("id","notButtonB");
        });

    $( "body" ).on( "click", "#notButtonB",function(){
        console.log(" notButtonB is clicked "); //show nothing
    });
});