2012-03-18 3 views
0

Simple Photo Manager라는 파일 업로드 스크립트를 다운로드했습니다. jQuery 함수에 익숙하므로이 스크립트의 기존 JS 코드와 함께 사용하려고합니다.어떻게 자바 스크립트와 jQuery 함수를 결합하여 버튼을 숨길 수 있습니까?

기본적으로 삭제 버튼을 클릭하면 숨기고 싶습니다. 삭제 단추가 클릭 된 후에 숨겨지지 않는 이유는 무엇입니까? (참고 : JS 파일은 HTML 파일에 올바르게 포함되어 있습니다.) 또한 원래는 삭제/복원 스위치 링크로 사용 되었기 때문에 delLink.removeChilddelLink.appendChild은 쓸모가 없습니다. 대신 버튼을 사용하기로 결정했습니다.

도와 주시면 감사하겠습니다.

HTML 코드는 다음

<input type='button' id='deleteit' onClick="deleteLinkOnClick 
(this, 'delFlag<?=$imgid?>')"> 

화상이 업로드 될 때 요소를 생성하는 JS 코드 :

var image_del_link = par.createElement('input'); 
image_del_link.type = "button"; 
image_del_link.value = "Delete"; 
imgdiv.appendChild(image_del_link); 

onclick을위한 함수이다 : (I는 쓰기 시도 하단의 jQuery 함수)

function deleteLinkOnClick(delLink, delFlag) { 
    var par = window.document; 
    var imgDiv = delLink.parentNode; 
    var image_hidden = delFlag == '' ? imgDiv.childNodes[2] : par.getElementById(delFlag); 

    if (image_hidden.value == '1') { 

     image_hidden.value = '0'; 
     delLink.removeChild(delLink.childNodes[0]); 
     delLink.appendChild(par.createTextNode("Restore")); 
     delLink.style.color = '#FF0000'; 
    } 
    else { 
     image_hidden.value = '1'; 
     delLink.removeChild(delLink.childNodes[0]); 
     delLink.appendChild(par.createTextNode("Delete")); 
     delLink.style.color = '#64B004'; 
    } 

    $(document).ready(function(){ 
     $(image_del_link).click(function(){ 
      $(this).hide(); 
      }); 
     }); 
} 
+0

왜 당신은 함수 내에서 document.ready 사용하고 있습니까? –

+0

안녕하세요, 귀하의 회신에 감사드립니다. 나는 document.ready를 제거했지만 아무런 부작용도 없었습니다. – eric01

답변

1

여기 있습니다.

$("#deleteit").click(function(){ 
    $(this).hide(); 
}) 
+0

안녕하십니까. 불행히도 아직 버튼에 영향을 미치지 않습니다. 내 원래 게시물에서 나는 그것을 잊어 버렸다 : \t imgdiv.appendChild (image_del_link); (위의 편집 된 코드 참조). 이걸 감당할 수 없습니까? 이것은 매우 혼란 스럽습니다. – eric01

+0

'imgdiv.appendChild (image_del_link);'코드 바로 뒤에 내 코드를 넣으십시오. –

+0

방금 ​​날 만들었습니다. D. 그 점에 대해 고맙습니다. 기능에 넣으면 어떻게 작동하지 않습니까? 다시 고마워. – eric01

0

시도 :

$("#deleteit").live("click", function(){ 
    $(this).hide(); 
}); 
+0

안녕하세요. 코드도 작동하지만 실제로는 코드 내에 배치하는 것이 문제였습니다. 그 기능을 외부에 두어야했습니다. 감사합니다 – eric01

+0

예, 당신은 준비도 내부 문서를 사용할 수 있습니다. – Nemoy

관련 문제