I'm trying to trigger a link click for .jquery. Does someone know why the following doesn't work.
我正在尝试触发.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>
5 个解决方案
#1
17
Looks like your $("google_link_proxy")
selector is off. Try $("#google_link_proxy")
.
看起来你的$(“google_link_proxy”)选择器关闭了。试试$(“#google_link_proxy”)。
You also need to close the observe call with })
.
您还需要用}关闭观察调用)。
Those are the syntax errors with the code above though I don't think those functions are provided in jQuery by default.
这些是上面代码的语法错误,但我不认为这些函数在jQuery中是默认提供的。
Here is what I think you're after:
我想你想要的是:
$("#google_link_proxy").click(function(event){
window.open($("#google_link").attr('href'),'_blank')
});
#2
33
The jQuery method completely ignores href
:
jQuery方法完全忽略href:
$('#google_link').click(); // ignores href!
The native DOM method does the right thing:
本地DOM方法做了正确的事情:
$('#google_link')[0].click();
This works regardless of whether the href
is a URL, a fragment (e.g. #blah
) or even a javascript:
.
不管href是URL、片段(例如#blah)还是javascript:,它都可以工作。
#3
21
If you use jQuery and the native DOM, the anchor can be clicked
如果使用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();
#4
2
Make sure you have your jQuery code wrapped in a ready block like so
确保您已经将jQuery代码包在一个现成的块中。
$(document).ready(function(){/* your code here */});
This ensures scripts are fired after all the content and images are loaded.
这确保在加载所有内容和图像之后触发脚本。
#5
2
Use click()
使用点击()
$("#google_link_proxy").click(
function(){
$("#google_link").click();
}
);
fireEvent and observe is not part of jQuery API
fireEvent和observe不是jQuery API的一部分
#1
17
Looks like your $("google_link_proxy")
selector is off. Try $("#google_link_proxy")
.
看起来你的$(“google_link_proxy”)选择器关闭了。试试$(“#google_link_proxy”)。
You also need to close the observe call with })
.
您还需要用}关闭观察调用)。
Those are the syntax errors with the code above though I don't think those functions are provided in jQuery by default.
这些是上面代码的语法错误,但我不认为这些函数在jQuery中是默认提供的。
Here is what I think you're after:
我想你想要的是:
$("#google_link_proxy").click(function(event){
window.open($("#google_link").attr('href'),'_blank')
});
#2
33
The jQuery method completely ignores href
:
jQuery方法完全忽略href:
$('#google_link').click(); // ignores href!
The native DOM method does the right thing:
本地DOM方法做了正确的事情:
$('#google_link')[0].click();
This works regardless of whether the href
is a URL, a fragment (e.g. #blah
) or even a javascript:
.
不管href是URL、片段(例如#blah)还是javascript:,它都可以工作。
#3
21
If you use jQuery and the native DOM, the anchor can be clicked
如果使用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();
#4
2
Make sure you have your jQuery code wrapped in a ready block like so
确保您已经将jQuery代码包在一个现成的块中。
$(document).ready(function(){/* your code here */});
This ensures scripts are fired after all the content and images are loaded.
这确保在加载所有内容和图像之后触发脚本。
#5
2
Use click()
使用点击()
$("#google_link_proxy").click(
function(){
$("#google_link").click();
}
);
fireEvent and observe is not part of jQuery API
fireEvent和observe不是jQuery API的一部分