创建元素时的jQuery事件

我想在创建元素时触发事件。

$(document).on('load','#TB_title',function() { console.log('loaded'); }); 

是否有相当的效果?

我看到有些人建议使用livequery,但这看起来很重。

谢谢。

使用这个插件:livequery

或看到这个链接;

如何在jQuery中检测新元素的创建?

我不认为这样的东西是直接存在的,但你可以处理DOMSubtreeModified事件并等到你能找到具有这种ID的元素:

 var _elementToFind = "TB_title"; var _elementFound = false; var _counter = 1; $(document).bind("DOMSubtreeModified", function(evt) { if (_elementFound) return; if ($("#" + _elementToFind).length > 0) { alert("element '" + _elementToFind + "' created"); _elementFound = true; } }); 

现场测试案例 。

缺点是它不支持Opera和IE不到9 – 请看这里的全部细节。

您可以触发全局自定义事件:

 $(document).on('load','#TB_title',function() { $.event.trigger('nameOfCustomEvent'); }); $('#element').bind('nameOfCustomEvent', function(){ console.log(this); });