我的算法:
$.get( "read.php"...
)APPEND
通过jQuery加载文本的contenteditable div div
值,如果文字中有错误div
红色(分配班级,$(this).addClass("fill_red");
) 问题是: - 一切正常。
但是当我使用JS追加div时 - 检查功能不起作用。
我在网上搜索,也许on()
方法可以帮助我。
但是什么事件?
应该是onload
,onchange
..?
(是的,我可以通过php生成div
并解决问题,但我不想完全刷新)
谢谢!
代码的一部分:
//texts load
$(function() {
$.get( "read.php", function( data ) {
var ionka = data.split(' ');
ionka.forEach(function(item, i, arr) {
var app_text = "<div id=\"segm" + i + "\" contenteditable role=\"textbox\">" + item + "</div>";
$("#textarea").append(app_text);
});
});
//checks
var intRegex = new RegExp('^[0-9/\]{5}$');
$('#textarea div').each(function(i,elem) {
if(!intRegex.test($(this).text())) {
$(this).addClass("fill_red");
}else{
$(this).removeClass();
}
});
// edit on change. Blur because of contenteditable
var segm_array = [];
$('#textarea div').each(function(i,elem) {
$(this).blur(function() {
if (segm_array[i]!=$(this).text()){
segm_array[i] = $(this).text();
if(!intRegex.test(segm_array[i])) {
$(this).addClass("fill_red");
}else{
$(this).removeClass();
}
}
});
});
答案 0 :(得分:0)
你这里没有显示太多代码,但我的猜测是你在新数据加载到dom之前尝试添加类
$.get( "read.php" ).done(function( data ) {
// addClass etc
});