2017-10-12 3 views
0

많이 논의 될 것으로 보이지만 쉬운 대답을 찾을 수 없습니다. DOM에 로더 아이콘을 추가했지만 append가 이것을 지원하지 않는다고 이해하고 나서 함수가 수행되도록하고 싶다. 쉬운 해결책이 있습니까?추가 후 기능 수행

현재 코드 :

$('#tab').on('shown.bs.tab', function(e) { 
    $("#htmlelement").append('<i class="fa fa-spinner fa-spin fa-fw"></i>'); 
    functionafterappend(); 
}); 
+0

append를 호출하는 요소에'ready()'를 사용하는 대답이 있습니다. 먼저 시도해 보겠습니다. – Huangism

+0

동기식 Ajax 요청 사용을 중지하십시오. –

+0

@Huangism 그게 .ready() 않습니다. 이 경우 단순히 다음 틱에서 실행되도록 요청을 푸시합니다.이 틱은 본질적으로 0 간격 setTimeout과 동일합니다. "준비"상태가 될 때까지 기다리지 않고, DOM이 준비되었으므로 콜백 대기열로 보냅니다. –

답변

0

.append 동기식 함수이다. 따라서이 솔루션은 유효하며 functionafterappend()append이 실행 된 후에 만 ​​실행됩니다. 추가]가

$('div') 
 
    .append(`<p>1. Append at ${console.log(new Date())}</p>`) 
 
$('span') 
 
    .append(`<span> 2. Another Append at ${console.log(new Date())}</span>`); 
 
    
 
    // setTimeout(() => alert("Append has been completed"), 3000); 
 
body { 
 
    padding:50px; 
 
} 
 

 
div { 
 
    border:2px solid #bbb; 
 
    background-color:#eee; 
 
    padding:10px; 
 
    margin:10px auto; 
 
} 
 

 
span { 
 
    display:block; 
 
    width:65px; 
 
    font:bold 12px Arial,Sans-Serif; 
 
    color:white; 
 
    padding:5px 10px; 
 
    background-color:black;  
 
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script> 
 
<div>Lorem ipsum dolor sit amet consectetur adipiscing elitr sed diam nonumy tempe goreng.</div>

수행이가 append 후 뭔가를 할 수있는 가장 간단한 방법 후 내가 경고 3 초를 유발하고있어 어디

예를 들어

다음 예를 살펴. 물론 제외하고, 만약 그렇다면이 마음 싶어 체인 기능 : 완전히 기능 가고 싶은 경우

.append('<span>1. Append</span>') .prepend('<span>1. Append</span>')

, 당신은 심지어 사용하여 같은 기능을 구성 할 수 있습니다 Lodash : 위의 속는에서

const newFunc = pipe(append, prepend); 
+0

저에게 효과적이었던 것처럼 보입니다. 해킹 솔루션과 같은 느낌이지만 괜찮습니다. 감사! –

+0

그것에 대해 아무런 해커가 없습니다. 이것은 'append'후에 무언가를하는 가장 간단한 방법입니다. 물론 제외하고, 만약 그렇다면이 마음 싶어 체인 기능 : '으로 .Append (' 1. 추가]') .prepend (' 1. 추가]') ' 등등. 완전히 기능적으로 가고 싶다면 Lodash와 같은 기능 구성을 할 수도 있습니다. const newFunc = pipe (append, prepend); 답장에도이 메시지를 추가하십시오. – nikjohn

+0

해커입니다. 3 초를 기다리고 있습니다. 3 초를 기다리지 않으려면 어떻게해야합니까? 추가 된 요소가 준비되는대로 바로 실행하려면 어떻게해야합니까? – Huangism