我目前正在开发一个级联树菜单.展开树项时,它会<div>在其下方创建新的,也可以展开.我可以得到第一组<div>绑定并因此扩展,但我似乎无法使用"this._on"方法自动绑定新创建的div.我正在寻找类似于live(),delegate()和on()的功能.
我已经在http://jsfiddle.net/vEAhq/上的 jsFiddle中发布了我的代码.
我在第60行的_setupEvents方法下设置了事件绑定.
回顾一下,在_create方法中调用的refresh方法中创建的元素绑定没问题.它是在_expand方法中创建的元素,不会像我期望的那样受到约束.
在此先感谢您的时间.
$.widget( "custom.categoryMenu", {
options: {
links: null
},
_create: function() {
this.refresh();
this._on('.categoryNavigationExpandIcon', {
click: function(event) {
var $container = $(event.target).parent();
if( ($container).data('expanded') === false ) {
this._expand($container);
} else {
this._contract($container);
}
}
});
},
refresh: function() {
var $elm = this.element;
var $newElem;
var $itemTree = this.options.links;
var $itemTreeRoot = sortObj( $itemTree['1'], 'function', true );
this._setupEvents();
$.each( $itemTreeRoot, function( key, value ) {
var ID = $itemTreeRoot[key]; …Run Code Online (Sandbox Code Playgroud)