2012-02-09 2 views
2

jquery는 일반적으로 DIV와 같이 클릭 할 수없는 항목에도 클릭 방식을 적용합니다. 어떤 것은 그것에 반응하기 때문에 이것은 좋을 수 있습니다. 어떻게 JQuery없이 일반 오래된 자바 스크립트를 사용하여 모든 일반 DIV ""를 클릭 할 수 있습니까?일반 자바 스크립트를 사용하여 div를 클릭하십시오.

내가하려는 것은 사용자가 Jquery에 게시 할 수있는 영역을 클릭하는 것입니다. 핫키에서 자바 스크립트를 실행할 수있는 크롬 확장 프로그램을 사용하고 있습니다. jquery 버전을 작성했습니다 var x = $ ('div [guidedhelpid = "sharebox"]'); x.click();

jquery 라이브러리는 약 1/4 만로드하는 것 외에는 잘 작동합니다. 이유는 모르겠지만, 그래서 나는 평범한 JS로 만들려고 노력했다. 처리기에 관해서는, googles 자신의 코드는 클릭을 잘 가로 채고 처리하고 있으며 Jquery 버전에서 작동합니다. 그래서 나는 똑같은 일을 효과적으로하고 싶습니다.

Jquery는 처음 생각할 때까지 내부적으로 DOM을 위 또는 아래로 이동합니까?

업데이트 잘못된 방향으로보고 있었는데 실제로 초점을 맞추기 위해 올바른 요소를 찾아야했습니다 (JQUERY에서).

+0

Jquery는 처음 생각할 때까지 DOM 내부 또는 외부로 이동합니까? – klumsy

+2

jQuery가 시간의 1/4 만로드하는 이유에 대해 더 염려 할 것입니다. – josh3736

+0

괜찮 았어, jquery가로드 중이었습니다. 그것의 다만 내용은 시간의 1/4 페이지에 달랐다. 그래서이 질문은 무의미합니다. 그리고 제가 원래 말한 방식은 원래 의도했던 것과 다른 것을 묻고있는 것처럼 보입니다. – klumsy

답변

4

그냥 요소에 하나 개의 기능을 결합하려는 경우, 당신은

var element = document.getElementById("el"); //grab the element 
element.onclick = function() { //asign a function 
//code 
} 

를 사용할 수 있지만, 두 개 이상의 이벤트를 첨부해야하는 경우, 당신은 (IE 제외 eveything) addEventListener를 사용해야하고 attachEvent (IE)

if(element.addEventListener) { 
element.addEventListener("click", function() {}); 
} else { 
element.attachEvent("onclick", function() {}) 
} 
3

click() 함수는 jQuery가 아니라 JavaScript로 작성되었습니다.

HTMLElementObject.click() 

Source.

+0

이벤트 처리기를 연결하는 것에 대해 말하면,'$ ('div') click (...)'의'click()'은 jQuery 함수입니다. – josh3736

+0

아니요, 그는 클릭을 '실행'하려고한다고 말합니다. – Jivings

+0

주석을 읽지 않았습니다 (편집 된 내용이어야 함). – josh3736

0
var d = document.getElementById("test"); 
d.onclick = function(){alert('hi');}; 
0
var divElement = document.getElementById('section'); 

divElement.addEventListener('click', function() { 
    alert('div clicked'); 
},false); 
2

여기에 존 레식 (jQu의 작성자가 an article입니다 ery)이 일을하는 방법에 대해. 그것은 addEvent()을 다시 쓰는 방법에 관해서는 a contest (그가 얻은 것)에 대한 그의 입장입니다.

관련 문제