전역, 또는 해당 객체 내에서 태그의 변경, 수정 등의 내용을 체크하여 이벤트를 줄 일이 생겼다.
예를 들어 객체 추가하고 jqueryUI에 있는 datepicker 같은 함수 실행하기?
그래서 찾아보니 아래와 같은 방법으로 처리가 가능하다고 한다.
$(function () {
//datapicker
//기존에 있는 태그에 이벤트
$("#divReport").find("input").each(function (i, item) {
if ($(item).attr("data-inputtype") == "date") {
$(item).datepicker({
dateFormat: "yy-mm-dd"
});
}
});
//datepicer add
//divReport에 tag가 추가되었을 때 이벤트
$("#divReport").on('DOMNodeInserted', 'p', function () {
console.log("추가");
var ritem = $(this).find("input")[0];
if ($(ritem) && $(ritem).attr("data-inputtype") == "date") {
$(ritem).datepicker({
dateFormat: "yy-mm-dd"
});
}
});
//datepicker tag change
//divReport의 태그가 변경 되었을 때 이벤트
$("#divReport").bind("DOMSubtreeModified", function (e) {
//alert("qusrud");
//e.target <-- this should be what you are looking for
console.log(e.target);
var target = $(e.target);
if (target.get(0).tagName.toLowerCase() == "p") {
var ritem = target.find("input")[0];
if ($(ritem).attr("data-inputtype") && $(ritem).attr("data-inputtype") == "date") {
$(ritem).datepicker({
dateFormat: "yy-mm-dd"
});
}
}
});
});