我试图在单击动态生成的按钮时运行一个函数。无论我尝试使用什么方法,它都出于某种原因似乎无法正常工作。
的JavaScript
[button setBackgroundColor:[UIColor redColor]
forState:UIControlStateNormal];
我尝试过如上所述使用.on,我尝试过将.live用作:
//Generating the button
$('<div><h3>Back<h3></div>')
.attr('class', 'rtext btn arrowback').attr('role', 'button').attr('id', '2')
.appendTo($(".row1")).hide().delay(800).fadeIn(1000);
//function when button is clicked
$(".row1").on("click", ".arrowback", function(){
var userID = this.id;
alert(userID);
});
然而似乎没有任何效果。我的语法不正确吗?
答案 0 :(得分:0)
啊,我现在已经解决了它,如果动态生成父和子,下面的函数将会起作用:
$(document.body).on("click", ".arrowback", function(){
var userID = this.id;
alert(userID);
});
答案 1 :(得分:0)
动态生成元素还允许将事件绑定到最近创建的元素。
看看这个代码:http://codepen.io/andtankian/pen/dXpZPR
$('div').append("<div></div>");
$('div>div').addClass("row1");
//Generating the button
$('<div><h3>Back<h3></div>')
.attr('class', 'rtext btn arrowback').attr('role', 'button').attr('id', '2')
.appendTo($(".row1")).hide().delay(800).fadeIn(1000);
//function when button is clicked
$(".row1").on("click", ".arrowback", function(){
var userID = this.id;
alert(userID);
});
我模拟了你的环境,一切正常。