我正在尝试构建一个基于jquery的高级搜索查询构造函数。使用MooTools框架构建的设计的实时版本在http://opl.bibliocommons.com/search
现在问题是,我有一个带有控件的div,必须在点击“添加更多”按钮时动态创建。创建新div后,我需要将事件绑定到div内的控件。
Mootools版本的代码如下:
add_query_part: function(ev) {
if(ev) ev.stop();
this.query_chunks[0].addClass('removable');
var query_chunk = this.query_chunks[0].clone().set({'class': 'query_chunk query_piece','id':"query_chunk_"+(++this.term_count)}).inject($('query_parts'));
var search_param_select = query_chunk.getElement('select').set({
'class': 'parameter',
'id':'parameter_'+this.term_count,
'style': 'margin-right:3px'
});
var keyword = query_chunk.getElement('input[type=text]').set({
'class': 'operand text',
'id':'keyword_'+(this.term_count),
'style':'margin-right:3px',
'value': ''
});
var remove_btn = query_chunk.getElement('a').set({
'class': 'remove_btn',
'id':'remove_'+(this.term_count)
});
$("query_chunk_"+this.term_count).addClass('removable');
this.query_chunks.push(query_chunk);
remove_btn.addEvent('click', this.remove_query_part.bindWithEvent(this));
keyword.addEvent('keyup', this.construct_query.bindWithEvent(this));
keyword.addEvent('mouseup', this.construct_query.bindWithEvent(this));
search_param_select.addEvent('change', this.construct_query.bindWithEvent(this));
return query_chunk;
},