Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/390.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript $(#id).on()不使用动态创建的内容_Javascript_Jquery - Fatal编程技术网

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”)使其正常工作:)