Jquery 无法使用动态添加的元素(ajax)创建表
我正在使用Jquery 无法使用动态添加的元素(ajax)创建表,jquery,ajax,dom,jeditable,Jquery,Ajax,Dom,Jeditable,我正在使用表格编辑问题的答案 我已经成功地实现了整个逻辑,期望通过ajax将新的答案添加到dom中。 最初新添加的dom是不可编辑的,但在遵循某些解决方案后,它开始部分工作 下面是我的代码片段 $('.answer-section').delegate('.answer-descp', 'edit', function(){ $(this).editable('/answer/update', { type : 'textarea', event
表格
编辑问题
的答案
我已经成功地实现了整个逻辑,期望通过ajax将新的答案添加到dom中。最初新添加的dom是不可编辑的,但在遵循某些解决方案后,它开始部分工作 下面是我的代码片段
$('.answer-section').delegate('.answer-descp', 'edit', function(){
$(this).editable('/answer/update', {
type : 'textarea',
event : 'edit',
}
});
});
触发edit
事件以编辑内容的链接(它也是动态添加的dom的一部分)
answer部分
是一个div类
,包含所有答案,并在其中添加动态添加的新DOM。answer descp
是div
的一类,其中包含必须由编辑的文本
当我们发布新答案(通过ajax)时,新的dom将添加包含答案文本的answer descp
div和类editans
的新链接,单击该链接可编辑新添加的答案
我的问题是,我必须点击编辑链接2次,以使其可编辑。我尝试了许多变化,但没有成功。
提前感谢旧帖,但我也遇到了同样的问题,对这些未回答的问题感到恼火。
最终答案是很清楚的,但也许这可以节省一些时间来敲打你的头
第一次单击将可编辑事件添加到元素中,第二次单击将触发该事件。
不需要单击事件来添加可编辑内容,它会自行触发
对我来说,将.editable()
添加到模式后直接调用它是有效的
i、 e
$('#someID')。上下文菜单(函数(e){
e、 预防默认值();
$('.someClass').model(''+someVal+'');
$('.editable').editable('some/URL/');
}
对于ajax,这可能应该在success
部分完成 是否还有其他。答案部分
?检查e是否为默认值(e)代码>未阻止$(this.parent().parent().prev().trigger('edit')代码>为什么使用它?这样我只能通过单击编辑链接编辑答案。你可以用CSS模拟
标记,这样你就可以避免它的默认行为。。。检查,它在这种情况下也很有用…问题是为什么在第二次单击时触发事件?
$('.answer-section').on('click', '.editans', function(e){
e.preventDefault(e);
$(this).parent().parent().prev().trigger('edit');
});
$('#someID').contextmenu(function (e) {
e.preventDefault();
$('.someClass').modal('<span class="editable">'+someVal+'</span>'));
$('.editable').editable('some/URL/');
}