2011-03-17 3 views
0

클릭 할 때 요소 onclick을 만들고 요소를 숨기려고하는데 아무 것도하지 않습니까?Javascript가 이상한 일을하고 있습니까? IE에서 작동하지만 파이어 폭스에서 작동하지 않습니까?

hide() 함수가 아무런 효과가없는 이유는 무엇입니까?

<script type="text/javascript"> 
function show(){ 
    var a = document.getElementById('foo'); 
    var b = document.createElement("div"); 
    b.setAttribute('id', 'bar'); 
    b.setAttribute('onclick', 'hide()'); 
    a.appendChild(b); 
b.innerHTML = 'TEXT CONTENT'; 
b.onclick = function() { 
    hide(); 
}; 
} 

function hide() { 
    var x = document.getElementById('foo'); 
    var z = document.getElementById('bar'); 
    x.removeChild(z); 
} 
</script> 

<div id="foo" onclick="show()">CLICK ME</div> 

답변

1

b.onclick = function (hide {);}; 이 IE에 따라 발생하는 경우

+0

B의 샘플을 참조. setAttribute ('onclick', 'hide()'); 나는 onclick 함수를 이미 추가 했습니까? – Aaron

+0

일부 브라우저에서는이 기능이 필요하고 다른 기능은 사용자가 가지고있는 기능으로 정상적으로 작동합니다. –

1

는 그것이 모두 IE에서 작동 기능을 등록 JQuery와 방법을 사용할 수 FF

U

$(b).click(function() { 
//call your function like hide() i have made a separate function for cleaner code and re usability 
     }); 

function hide() 
{ 

} 
관련 문제