$("div.section").ready()같은 함수가 필요해서 만들었습니다. 비동기로 dom에 삽입될때도 작동합니다.
[code]
$.fn.loaded = function(node_selector,callback_func,option){
var loaded = [];
// 감시 대상 요소 선택
$(this).each(function (i,e) {
var $target = $(e);
var targetNode = $target[0];
var added = [];
if (!node_selector instanceof jQuery){
node_selector = $(node_selector);
}
var callback_excute = function (index,elem) {
// if(elem.weaver_loaded==true){
// return false;
// }
if(loaded.includes(elem)){
return false;
}
loaded.push(elem);
// elem.weaver_loaded=true;
callback_func.call(elem,index,elem);
}
$(node_selector,$target).each(function (i,e) {
callback_excute(i,e)
})
var config = { childList: true, subtree: true };
var observer = new MutationObserver(function(mutationsList, observer) {
for(var mutation of mutationsList) {
if (mutation.type === 'childList') {
$.each(mutation.addedNodes,function (j,k){
var $node ;
if($(k).is(node_selector)){
$node = $(k);
callback_excute(j,$node[0])
}else{
$(node_selector,$(k)).each(function (x,y) {
callback_excute(x,y)
});
}
})
}
}
});
observer.observe(targetNode, config);
})
};
// 사용법
$("div.section").loaded(function(i,e){
$(this).html('test');
}}
[/code]
게시글 목록
| 번호 | 제목 |
|---|---|
| 17591 |
node.js
노드로 멀티스레드 기능 구현하기
2
|
| 17590 | |
| 17589 |
PHP
PHP로 인쇄명령주기
1
|
| 17588 |
JavaScript
Javascript로 JSON데이터를 보기좋게 만들기
|
| 17587 | |
| 17584 | |
| 17583 |
MySQL
MySQL과 PostgreSQL의 우단점
|
| 17582 |
MySQL
프로시저 cursor 사용 예
|
| 17581 |
JavaScript
바닐라 ajax 파일업로드 예제
|
| 17579 | |
| 17577 | |
| 17575 | |
| 17574 | |
| 17573 | |
| 17572 | |
| 17569 | |
| 17564 | |
| 17560 | |
| 17559 |
MySQL
프로시저 기본편
|
| 17555 | |
| 17554 | |
| 17553 | |
| 17552 | |
| 17549 | |
| 17548 | |
| 17547 | |
| 17542 | |
| 17533 | |
| 17531 | |
| 17524 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기