2012-06-08 4 views

답변

1
var evt = document.createEvent("MouseEvents"); 

evt.initMouseEvent("click", true, true, window, 
     0, 0, 0, 0, 0, false, false, false, false, 0, null); 

[].forEach.call(document.getElementsByTagName("*"), function(elem){ 
    elem.dispatchEvent(evt); 
}); 
+0

가 왜'document.getElementsByTagName를 작성하지 않은 (onclick을 위해, 우리는 거의 모든 요소를 ​​사용할 수 있습니다) 대해 forEach (기능 (ELEM) {elem.dispatchEvent (EVT);}).; '? – user1365010

+0

@ user1365010 왜냐하면'.forEach'는'NodeList'와 함께 사용하기 위해 빌린 일반적인'Array' 메소드이기 때문입니다. 'NodeList'는 그 메소드를 가지고 있지 않습니다. – Esailija

+0

말하자면, 나는 당신보다 30 % 더 빠른 방법을 만들었습니다 : http://jsperf.com/foreach-or-other-method-with-a-for-loop (그러나 당신의 대답은 정말로 나를 도왔습니다 – user1365010