【发布时间】:2010-10-28 12:17:24
【问题描述】:
有没有办法使用 JavaScript 点击我页面上的链接?
【问题讨论】:
-
您只能在 input type="button" 元素上执行“点击”。
-
@Ballsacian1 我在
<a>元素上使用了.click(),它起作用了。
标签: javascript hyperlink click anchor
有没有办法使用 JavaScript 点击我页面上的链接?
【问题讨论】:
<a> 元素上使用了.click(),它起作用了。
标签: javascript hyperlink click anchor
document.getElementById('yourLinkID').click();
【讨论】:
target="_blank"属性,浏览器的弹窗拦截器会为新窗口激活。
此功能至少在 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;
}
}
【讨论】:
target 属性或<base target="frame">
如果您只想更改当前页面地址,只需在 Javascript 中执行此操作即可:
location.href = "http://www.example.com/test";
【讨论】:
mailto: 链接。绝对节省了我的时间。我准备创建a 元素并进行一些“程序化点击”stackoverflow.com/questions/809057/…
click()在其他地方和上面提出的方法,它在IE9中不起作用,但设置location.href实际上是从mailto:链接发送电子邮件。很好的解决方案!
就这样:
<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>
【讨论】:
点击链接的jQuery方式是
$('#LinkID').click();
对于mailTo链接,您必须编写以下代码
$('#LinkID')[0].click();
【讨论】:
a 链接对我也不起作用。使用[0].click() 版本有效,我相信这与document.getElementById('yourLinkID').click(); 答案相同。
对我来说,我设法让它以这种方式工作。我在 5000 毫秒内部署了自动点击,然后在 1000 毫秒后关闭了循环。然后只有 1 次自动点击。
<script> var myVar = setInterval(function ({document.getElementById("test").click();}, 500)); setInterval(function () {clearInterval(myVar)}, 1000));</script>
【讨论】:
上述许多方法已被弃用。现在推荐使用here找到的构造函数
function clickAnchorTag() {
var event = document.createEvent('MouseEvent');
event = new CustomEvent('click');
var a = document.getElementById('nameOfID');
a.dispatchEvent(event);
}
这将导致锚标记被点击,但它不会显示弹出窗口阻止程序是否处于活动状态,因此用户需要允许弹出窗口。
【讨论】:
您能否使用 Javascript 转发到点击将转到的 URL,而不是单击?
也许您可以在主体 onLoad 中放一些东西,以便去您想去的地方。
【讨论】:
您可以将它们重定向到另一个页面。实际上,让它真正点击一个链接并前往它似乎是不必要的,但我不知道整个故事。
【讨论】:
对于那些想要点击具有特定文本内容的所有链接的人来说,这是可行的:
for (const a of document.querySelectorAll("a")) {
if (a.textContent.includes("<your text to be searched here>")) {
a.click();
}
}
【讨论】:
客户端JS功能,当...时自动点击链接
这是一个示例,您检查隐藏表单输入的值,其中包含从服务器传递的错误。您的客户端 JS 然后检查它的值并在您指定的另一个位置填充错误。 .在这种情况下是一个弹出登录模式。
var signUperror = document.getElementById('handleError')
if (signUperror) {
if(signUperror.innerHTML != ""){
var clicker = function(){
document.getElementById('signup').click()
}
clicker()
}
}
【讨论】:
你不能让用户的鼠标做任何事情。但是您可以完全控制事件触发时发生的情况。
您可以做的是点击身体负荷。 W3Schools 有一个例子here.
【讨论】: