有没有办法使用JavaScript点击我页面上的链接?
是否可以以编程方式为锚标记调用onClick-event,同时保持对锚的'this'引用?
以下不起作用...(至少在Firefox中不起作用:document.getElementById('linkid').click()不是函数)
<script type="text/javascript">
function doOnClick() {
document.getElementById('linkid').click();
//Should alert('/testlocation');
}
</script>
<a id="linkid" href="/testlocation" onclick="alert(this.href);">Testlink</a>
Run Code Online (Sandbox Code Playgroud) 我已经在其他网络应用程序中看到过这种情况,但我对Javascript还不熟悉,并且无法自己解决这个问题.我想以编程方式创建Google Hangout.但是,在官方API中,您可以创建环聊的唯一方法是在页面上添加环聊按钮.
我想要做的是让用户点击另一个用户的img并以这种方式打开环聊.似乎我可以捕获该点击,然后在后台"点击"环聊按钮.但是,我对Javascript不是很好,所以我不知道如何实现这一点.
编辑
我在下面尝试了mohamedrais的解决方案但没有运气.它与按钮的类有关吗?
以下是该按钮的代码,取自环聊文档并添加了id:
<script type="text/javascript" src="https://apis.google.com/js/platform.js"></script>
<div class="g-hangout" id="hangout-giLkojRpuK"
data-render="createhangout">
</div>
Run Code Online (Sandbox Code Playgroud)
这是我添加的JS,用ids 渲染:
<script>
window.onload = function() {
var userImage = document.getElementById("img-giLkojRpuK");
var hangoutButton = document.getElementById("hangout-giLkojRpuK");
userImage.onclick = function() {
console.log("in onclick");
hangoutButton.click(); // this will trigger the click event
};
};
</script>
Run Code Online (Sandbox Code Playgroud)
当我单击时img,"on onclick"被记录,因此函数被调用.但是,没有任何反应 - 环聊未启动.
当我直接点击环聊按钮时,它会启动环聊.但是,我想最终隐藏它并从图像中执行单击.
以下是上方环聊按钮的图片img:

所以我想弄清楚它们之间的差异
link.click()
和
var event = document.createEvent("MouseEvents");
event.initEvent("click", true, false);
link.dispatchEvent(event);
Run Code Online (Sandbox Code Playgroud)
据我所知,这些应该是相同的事情(但是我的jsfiddle示例从URI导出csv这不是这种情况,因为它们在浏览器与浏览器之间的执行方式不同)
使用.qlick()和firefox下载csv弹出窗口将不会显示(它将在chrome中)
看例子 - > http://jsfiddle.net/a5E9m/23/
它将使用鼠标事件
看例子 - > http://jsfiddle.net/a5E9m/25/
我想使用javascript点击我页面中的链接.我想在没有导航的情况下在链接上触发事件处理程序.如何才能做到这一点?
谢谢