2011-11-16 1 views
1

오늘 제가 상속 한 스크립트는 당분간 다른 것을 위해 제거 할 수 없습니다. 적어도. 어느 것이 일반적으로 좋을지 모르겠지만 원본 스크립트의 작성자는 코드를 "포장하여"코드를 읽을 수 없게 만듭니다. 그것으로 스크립트는 기능이 부족합니다. 현재 코드 기반으로 가능한 모든 것이 아니라는 항의에도 불구하고 필자는 그것을 넣어야합니다. 그래서 나는 해결 방법을 찾으려고하지 않고있다. 이 순간에 대한 개념은 버튼 클릭을 기반으로합니다. 변경할 수 없습니다.jQuery는 선택 상자의 "onchange 이벤트"를 모방하는 것이 가능하지만 UL/OL의 경우는 가능합니다.

버튼이하는 일은 사용자가 파일을 선택하는 파일 대화 상자를 열고 선택시 UL (Unordered List)에 추가됩니다. 해킹을 생각하려고 할 때 "선택"양식 요소처럼 사용자가 무언가를 선택할 때 onChange 이벤트 트리거를 수행 할 수 있는지 생각해 냈습니다. 뭔가가합니다. 그래서 나는 비슷한 것을 얻을 수 있는지 궁금합니다. 어떤 의미에서 DOM을 경청하는 것은 특정 요소가 언제 변경되는지, 그리고 실행중인 게시 확인 중 하나를 실행하기 위해 추가되는지 여부를 확인합니다. 나는 그걸 어떻게보아야할지 모르겠다. 그래서 여기 누군가가 나를 위해 통찰력을 가지고 있는지 궁금합니다.

+0

정말로 가장 간단한 것은 할 수있는 인터벌 처리기가 상당히 빠르며 (100ms 지연) 관심있는 요소를 "폴링"하는 것입니다. – Pointy

+0

파일 업로드 입력에서 변경 이벤트를 수신하지 않으려는 이유가 있습니까? – lsuarez

+0

다중 파일 업로드 스크립트. 입력에 대한 변경 이벤트는 해당 UL/LI입니다. 구체적으로 plupload. – chris

답변

3

</li>는 다음과 같이 추가됩니다 경우 </ul>의 변화에 ​​'듣기'와 함수를 실행하는 $.doTimeout()를 사용해보십시오 :

// The List // 
<ul class="theList"> 
    <li>Some Value</li> 
    <li>Some Value</li> 
    <li>Some Value</li> 
</ul>  

// Set Initial </li> Count // 
var li = $('.theList li').length; 

$('.theList').doTimeout('check', 250, function(){ 
    if ($('.theList li').length > li) 
    { 
     // ...Run Function Here... // 

     // Update Total </li> Elements // 
     li = $('.theList li').length; 
    } 

    // Return True to Continue Polling // 
    return true; 
}); 

을 나는 희망이 도움이!