我想知道,这个方法什么时候应用的确切,例如,如果我在一个带有一组指令的for循环中有一个追加,并且其中一条指令是在追加到DOM后应用函数onClick,:
for(i=0;i<somelength;i++){
$('div element').append(createButton(text_of_button,href_of_button,id_of_button));
$(id_of_button).click(function(){
//Some logic here...
});
}
按钮是成功创建的,它们的链接工作正常,但.click(...)没有做任何事情。我错过了什么吗?附加是在飞行中发生还是其他什么? ps:id_of_button ='#someButton'
createButton实现:
function createButton(buttonText,hrefLink,id) {
var button = '<a href="'+hrefLink+'"class="ui-btn ui-btn-corner-all ui-shadow ui-btn-up-c" data-role="button" data-theme="c"' + '' + 'id="' + id + '"' + '>' +
'<span class="ui-btn-inner ui-btn-corner-all">' +
'<span class="ui-btn-text">' + buttonText + '</span>' +
'</span>' +
'</a>';
return button;
}
答案 0 :(得分:1)
如果你创建的id
元素等于id_of_button
中的任何元素,那么要选择新元素并指定一个你需要使用的点击:
$("#" + id_of_button).click(function() {
您说“ps:id_of_button = '#someButton'
。我建议您将ID设置为"someButton"
而不 #
,然后您可以选择我已经在上面显示了。如果你的id确实在#
开头包含<button id="#someButton">
,那么要使用jQuery选择它,你需要像这样转义#
:< / p>
$("#\\#someButton")
...你的变量将是这样的:
$("#\\" + id_of_button).click(function() [