.jqueryのリンククリックをトリガーしようとしています。誰かが以下がうまくいかない理由を知っていますか?.
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html lang="en">
<head>
<title>test</title>
</head>
<body>
<div>
<a id="google_link" href="http://google.com" target="_blank">click to go to google</a>
</div>
<div id="google_link_proxy">click here to do the same as the link above</div>
<script type="text/javascript">
$("#google_link_proxy").click(function(event){
$("#google_link").click();
});
</script>
</body>
</html>
$("google_link_proxy")
セレクターがオフになっているようです。 $("#google_link_proxy")
を試してください。
また、})
で監視呼び出しを閉じる必要があります。
これらは上記のコードの構文エラーです。ただし、これらの関数はデフォルトでjQueryで提供されるとは思いません。
ここにあなたが望んでいるものがあります:
$("#google_link_proxy").click(function(event){
window.open($("#google_link").attr('href'),'_blank')
});
JQueryメソッドはhref
を完全に無視します:
$('#google_link').click(); // ignores href!
ネイティブDOMメソッドは正しいことを行います。
$('#google_link')[0].click();
これは、href
がURL、フラグメント(例:#blah
)またはjavascript:
。
JQueryとネイティブDOMを使用している場合、アンカーをクリックできます
// insert an <a> into document and click it **natively**
// (.get(0) returns the DOM element)
$('<a id="fred99" />').attr('href', '#david').attr('target', '_blank')
.text('LINK').appendTo('body').get(0).click();
// now we've clicked, tidy up
$('#fred99').remove();
click() を使用します
$("#google_link_proxy").click(
function(){
$("#google_link").click();
}
);
fireEventとobserveはjQuery APIの一部ではありません
JQueryコードがreadyブロックでラップされていることを確認してください
$(document).ready(function(){/* your code here */});
これにより、スクリプトが起動されますafterすべてのコンテンツと画像がロードされます。
これはjQueryなしで実行できます。
document.querySelector('#google_link').click()