我想在单击按钮'A'时修改按钮'B'的Id,并使用Jquery监听'B'的click事件,但我的代码不起作用, 这是我的代码示例:
$(function() {
$(".nuttonA").click(
function() {
$("#buttonB").attr("id","notButtonB");
});
$("#notButtonB").click(function(){
console.log(" notButtonB is clicked "); //show nothing
});
});
答案 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
});
});