2011-01-09 3 views
1

기본적으로 방문자가 페이지를로드 할 때 내 페이지의 특정 지점을 클릭하고 싶습니다. 사용자가 클릭하지 않고도이 클릭 한 번을 원합니다. 가능한가?페이지가로드 될 때 페이지의 특정 부분에 클릭을 생성하려면 어떻게해야합니까?

+2

왜 당신이보고 싶은대로 행동 호출하지 ? 클릭을 구체적으로 시뮬레이트해야하는 이유는 무엇입니까? – cdhowie

+0

자세한 정보를 제공해 주시겠습니까? 궁극적으로 당신은 무엇을 성취하기를 희망합니까? – user113716

+0

코드를 적절히 분리/구조화하면 클릭이 필요없고 @cdhowie와 같은 코드가 실행됩니다 (특정 이벤트 데이터가 필요하지 않는 한). –

답변

2
<script type="text/javascript">  
    $(document).ready(function() { 

     // target represents the id of the element you are wanting to be clicked. 
     $('#target').click(function() { 
     // your click handler logic goes here 
     }); 

     // click the element for the user... 
     $('#target').click(); 

    }); 
</script> 


<div id="target">This is the element on the page that will be clicked on pageload</div> 

UPDATE : 이것은 자바 스크립트 라이브러리입니다 JQuery와, 사용.

<head> 
    ... 
    <script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.4.4/jquery.min.js"></script> 
    ... 
    </head> 

http://jquery.com/

를 jQuery와 같은 자바 스크립트 라이브러리를 사용하여이 보장됩니다 여기에 스크립트 태그를 사용하면 이미 사용하지 않을 경우, 머리 부분에 JQuery와 가져 오는 데 사용할 수 있습니다 기능은 크로스 브라우저에서 작동합니다.

+4

호기심에서 벗어나 OP가 jQuery를 사용하고 있다고 생각하게 만드는 질문은 무엇입니까? – cdhowie

+0

@cdhowie - 전에이 사람을 보았습니다. 내가 그를 위해 대답 한 마지막 질문은 내가 믿는 JQuery 질문이었다. 또한 특정 요구 사항을 실제로 정의하지 않았으므로 필자는 그 작업에 가장 적합한 도구로 생각했습니다. – jmort253

+2

@ jmort253 : 그러나 더 많은 컨텍스트 정보를 제공해야합니다. 다른 사람들이 * pure * JavaScript에서 클릭을 시뮬레이트하는 방법을 찾아 올 수도 있습니다. 그리고 그들에게 당신의 대답은 유용하지 않게 보일 것입니다. –

0

DOM 준비가 완료되면 지정된 이벤트를 발생시킬 수 있습니다. jQuery를 사용하여 할 수 있습니다. ...

 
    $(document).ready(function(){ 
     $('#clickme').bind('click', function() { 
      alert('Here goes code you would like to perform'); 
      alert('And another pieco of code, if you wish'); 
     }); 
     $('#clickme').trigger('click'); 
    }); 
0

@ Felix Kling에 동의합니다. 개체의 사용자 클릭을 시뮬레이션하려는 경우 함수를 호출 할 수 있습니다.

그런데 질문에서 말한 것처럼 사이트에서 수익을 창출하기 위해 광고 클릭을 시뮬레이션하고 싶은 것 같습니다. 그렇다면 DOM이 다른 포함하는 프레임 (예 : iframe)에 액세스하는 것을 허용하지 않습니다. 이는 보안 위반입니다.

당신이 원한다면 ActiveX 컨트롤이나 다른 악의적 인 수단을 통해 사용자의 마우스를 어떻게 든 공중 납치해야 할 것입니다. 물론 이는 파렴치한 것입니다.

+1

물론 이러한 스크립팅 동작은 광고 서비스의 서비스 약관에 위배됩니다. – cdhowie

+0

아니 광고를 클릭하거나 블랙 햇 아무것도 아니에요. 나는 액티브 X에 대해 아무것도 모른다. 그래서 나는 이것이 내가 할 수없는 일이 될 것이라고 생각한다! – Jared

2

당신은 다음과 같은 코드를 사용할 수있는 자바 스크립트 라이브러리를 사용하지 않고 동일한 목적을 달성하려면 여기

<script type="text/javascript"> 
window.onload=function(){ //when the window loads 
    var paragraph = document.getElementById("google"); //store the object into a 
    // variable 

    //set the functions that will fireup when click happens - not necessary - 
    //for example purposes 
    paragraph.onclick = function(){ 
    this.style.background="red"; 
    } 

    paragraph.onclick(); //simulate click 
} 
</script> 

<p id="google">Google text</p> 

데모 :http://jsfiddle.net/9azTR/2/

+0

IE7과 IE8에서 이것을 테스트 했습니까? – jmort253

+0

어도비 브라우저 랩 https://browserlab.adobe.com/에서 IE6, IE7, IE8 및 IE9에 대한 작업을 완료했으며 완벽하게 작동하는 것 같습니다. – amosrivera

+0

+1 - 신난다! 좋은 작업! 방금 Windows XP에서 IE7을 확인했습니다. – jmort253

관련 문제