$(#id).on()不能处理动态创建的内容



我试图使脚本创建基本的pop_up很容易,但我有一个问题,当我试图绑定动作到我创建的元素。

这里的代码:

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++;
 }
}

Button是一个伪类。

。_trigger是包含我想要绑定的动作的数组。

:

_triger = ['click']

和_action包含我要绑定的函数。

:

_action[0] = function(){console.log('HI!')}

代码工作得很好,但唯一的问题是.on()似乎什么也不做。当我点击创建的按钮,什么都没有发生。如果不是调用init_action(),而是在控制台中执行相同的代码,它就可以工作(基本上:

$("#button").on(_triger[0], _action[0])

)工作完全正常。

任何想法?

ps:我试过用。bind()而不是。on(),它没有改变什么

用这个代替:http://api.jquery.com/on/

$("body").on("event","#id",function(){
   ...
}

使用$(document).on("click")事件处理动态创建内容的点击事件:

$(document).on("click","#id",function(){
   ...
}

try this

   $('#button').OnClick(function(){
    });

如果你调用Click事件

最新更新