创建元素时的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); });