$("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]
게시글 목록
| 번호 | 제목 |
|---|---|
| 17657 | |
| 17655 | |
| 17654 | |
| 17653 |
JavaScript
ThreeJS - 3D Bar and Progress Bar
1
|
| 17652 |
node.js
RAM점유크기에 의한 노드서버관리
|
| 17651 |
JavaScript
Javascript Undo, Redo 기능 구현하기
|
| 17650 | |
| 17642 |
node.js
nodejs서버가 사용중인 메모리에 대한 로그
|
| 17633 |
node.js
node.js에서 스케쥴링작성
8
|
| 17632 | |
| 17631 |
MySQL
InnoDB와 MyISAM의 우단점
|
| 17630 | |
| 17628 |
JavaScript
자바스크립트 기반으로 HTML Canvas에 이미지를 불러들여 테두리색입히기
|
| 17624 | |
| 17623 | |
| 17620 |
node.js
tcp소켓과 websocket 의 비교
2
|
| 17618 |
JavaScript
JavaScript로 이미지의 부분 영역을 따내기
|
| 17617 | |
| 17614 | |
| 17612 | |
| 17611 | |
| 17610 | |
| 17609 | |
| 17608 |
node.js
Node.js로 지속적인 핑 결과를 파일로 저장
|
| 17607 |
정규표현식
특수문자 제거, 우리글짜가 있는지 체크
|
| 17604 |
node.js
Node.js에서 PDF 파일의 페이지 수를 얻기
|
| 17603 | |
| 17602 |
node.js
Node.js로 워터마킹 기능을 구현하는 방법
|
| 17600 | |
| 17594 |
댓글 작성
댓글을 작성하시려면 로그인이 필요합니다.
로그인하기