2011-01-09 7 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:これは、JavaScriptライブラリである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などのJavaScriptライブラリを使用して、このことが保証されます:ここではスクリプトタグは、すでにそれを使用していない場合は、お使いのHEADセクションではJQueryをインポートするために使用することができますです機能はクロスブラウザで動作します。

+4

ちょうど好奇心から、あなたはOPがjQueryを使っていると思いますか? – cdhowie

+0

@cdhowie - 私は前にこの男を見ました。私が彼に答えた最後の質問は、私が信じるJQueryの質問でした。加えて、彼は具体的な要件を実際に定義していないので、私は仕事のための最良のツールと考えているものを選んだ。 – jmort253

+2

@ jmort253:多分もっと多くのコンテキスト情報を提供するべきでしょう。 *純粋な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

もちろん、このようなスクリプトの動作は、おそらく広告サービスのTOSに反します。 – cdhowie

+0

いいえ、それは広告やブラックハットをクリックするためのものではありません。私はActiveXについて何も知らないので、これは私がすることができない何かになるだろうと思う! – Jared

2

あなたがJavaScriptライブラリを使用せずに、同じ目的を達成したい場合は、次のコードを使用することができます:ここ

<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

私はちょうどIE6、IE7、IE8、IE9のためにAdobeブラウザーのラボhttps://browserlab.adobe.com/に行っており、完璧に動作しているようです。 – amosrivera

+0

+1 - 素晴らしい!良くやった!私はちょうどWindows XPのIE7で確認した。 – jmort253

関連する問題