web-dev-qa-db-ja.com

プログラムでJavaScriptを使ってリンクをクリックするにはどうすればよいですか。

JavaScriptを使用して自分のページのリンクをクリックする方法はありますか?

156
Jason Kolok
document.getElementById('yourLinkID').click();
213
arik

この機能は少なくともFirefox、およびInternet Explorerで機能します。イベントハンドラがデフォルトのアクションをキャンセルしない場合は、リンクにアタッチされているイベントハンドラを実行し、リンクされたページをロードします。

function clickLink(link) {
    var cancelled = false;

    if (document.createEvent) {
        var event = document.createEvent("MouseEvents");
        event.initMouseEvent("click", true, true, window,
            0, 0, 0, 0, 0,
            false, false, false, false,
            0, null);
        cancelled = !link.dispatchEvent(event);
    }
    else if (link.fireEvent) {
        cancelled = !link.fireEvent("onclick");
    }

    if (!cancelled) {
        window.location = link.href;
    }
}
45
Matthew Crumley

現在のページアドレスのみを変更したい場合は、Javascriptでこれを実行するだけで可能です。

location.href = "http://www.example.com/test";
36
Fabien Ménager

単にそのように:

<a id="myLink" onclick="alert('link click');">LINK 1</a>
<a id="myLink2" onclick="document.getElementById('myLink').click()">Click link 1</a>

またはページロード時:

<body onload="document.getElementById('myLink').click()">
...
<a id="myLink" onclick="alert('link click');">LINK 1</a>
...
</body>
12
Canavar

リンクをクリックするjQueryの方法は

$('#LinkID').click();

MailToリンクの場合は、次のコードを書く必要があります

$('#LinkID')[0].click();

あなたはそれらを別のページにリダイレクトすることができます。実際にそれを文字通りリンクをクリックしてそれに移動させることは厄介なように思えますが、私は全体の話を知りません。

2
akway

クリックする代わりに、JavaScriptを使用してクリックしたURLに転送できますか。

たぶんあなたは自分の欲しい場所に行くためにonLoadの中に何かを入れることができます。

1
Jas Panesar

私にとって、私はそれをうまく機能させることができました。私は5000ミリ秒で自動クリックを展開し、1000ミリ秒後にループを閉じました。それから1つだけ自動クリックがありました。

<script> var myVar = setInterval(function ({document.getElementById("test").click();}, 500); setInterval(function () {clearInterval(myVar)}, 1000); </script>
1

上記のメソッドの多くは廃止予定です。見つかったコンストラクタを使用することをお勧めします ここ

function clickAnchorTag() {
    var event = document.createEvent('MouseEvent');
    event = new CustomEvent('click');
    var a = document.getElementById('nameOfID');
    a.dispatchEvent(event);
}

これによりアンカータグがクリックされますが、ポップアップブロッカーが有効になっているかどうかは表示されないため、ユーザーはポップアップを許可する必要があります。

1
maus