Javascript $(#id).on()不使用动态创建的内容
我试图让脚本轻松创建基本弹出窗口,但当我试图将操作绑定到我创建的元素时,遇到了一个问题 代码如下:Javascript $(#id).on()不使用动态创建的内容,javascript,jquery,Javascript,Jquery,我试图让脚本轻松创建基本弹出窗口,但当我试图将操作绑定到我创建的元素时,遇到了一个问题 代码如下: button.prototype.init_action = function() { var i = 0; if (this._triger.length != this._action.length) { console.log('Il doit y avoir autant de triger que d\'action'); return; } var nam
button.prototype.init_action = function()
{
var i = 0;
if (this._triger.length != this._action.length)
{
console.log('Il doit y avoir autant de triger que d\'action');
return;
}
var name = '#' + this.prototype._idConteneur+'_'+this.prototype._name;
while (i < this._triger.length)
{
console.log($(name).on(this._triger[i], this._action[i]));
i++;
}
}
和_action包含我要绑定的函数
在这里:
_action[0] = function(){console.log('HI!')}
代码运行得很好,但唯一的问题是.on()似乎什么都不做。
当我点击created按钮时,什么也没有发生。
如果我没有调用init_action(),而是在控制台中执行相同的代码,那么它就可以工作了
(基本上:
$("#button").on(_triger[0], _action[0])
)这完全没问题
有什么想法吗
ps:我试过使用.bind()而不是.on(),但它没有任何变化请使用以下选项:
改用这个:
使用$(文档)。在“单击”事件上,动态创建内容的句柄单击事件:
$(document).on("click","#id",function(){
...
}
使用$(文档)。在“单击”事件上,动态创建内容的句柄单击事件:
$(document).on("click","#id",function(){
...
}
试试这个
$('#button').OnClick(function(){
});
如果您正在调用单击事件,请尝试以下操作
$('#button').OnClick(function(){
});
如果您正在调用您的点击事件只需谷歌事件删除,请参阅任何解释。它有你需要的所有细节。我认为您在这个问题上被错误地引导到stackoverflow如果您在动态添加的元素上使用.on()
,它将不起作用。您必须将它绑定到运行时已经存在的DOM对象,例如document对象,因此您应该使用$(document).on('event','#selector',function(){…})代码>仅谷歌事件授权请参考任何解释。它有你需要的所有细节。我认为您在这个问题上被错误地引导到stackoverflow如果您在动态添加的元素上使用.on()
,它将不起作用。您必须将它绑定到运行时已经存在的DOM对象,例如document对象,因此您应该使用$(document).on('event','#selector',function(){…})代码>Thx,使用$(“body”)而不是$(“#id”)使其正常工作:)Thx,使用$(“body”)而不是$(“#id”)使其正常工作:)