javascript - 如何用javascript模拟点击 anchor 标签?

标签 javascript jquery html

在我的网站上,我有一个 div容器,其中包含 <input> , 和一个 <a onclick="DoSomeStuff();" href="#" target="_blank">元素,充当按钮。现在,DoSomeStuff();修改 href属性基于 input 的值元素。

我需要模拟用户在 input 上按下回车后点击这个 anchor 标签元素。我知道如何检测这个输入,但我不知道如何点击这个 anchor 。 jQuery 的 .click()在这里不起作用,它只会触发 onclick() anchor 标签,但实际上并没有点击 anchor 。

编辑:这是我想做的事的例子:http://jsfiddle.net/JZYWZ/ .它触发 onclick anchor 标记的事件,但不跟随新选项卡中的链接。

最佳答案

浏览器对于通过 javascript 在新标签页/窗口中打开链接非常严格。

如果他们允许您在用户按下 enter 时点击 javascript 并打开一个新选项卡(出于您知道的合法原因),垃圾邮件发送者可能会滥用该功能来点击 javascript当用户执行任何操作 时的广告和垃圾邮件链接。遗憾的是,浏览器无法判断您的链接页面是合法的,而不是垃圾邮件或货币化的点击诱饵。

几乎是 open the url in new tab using javascript 的唯一选择是您已经尝试过的 window.open:浏览器将始终查看用户的设置,以阻止弹出窗口以及是否在选项卡或窗口中打开 - 以及默认设置设置非常严格,尤其是在 Firefox 和 Internet Explorer 中(在 Chrome 和 Safari 中则不太严格)。


一种可能的替代方法,您不会与浏览器的反垃圾邮件防御作斗争,是在模态覆盖(如果需要,则基于 iframe)中打开内容多页)。 Here's one example library .

从 UI 的 Angular 来看,这将是相似的 - 以一种形式为用户提供相关内容,他们可以在完成后关闭它并返回主页。

模态叠加层被广泛使用并且可能为用户所熟悉。例如,它们现在已成为共享页面、登录名和其他简单交互或辅助内容的标准。 Example :

enter image description here

关于javascript - 如何用javascript模拟点击 anchor 标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18617006/

相关文章:

html - 哪个框架更适合 RAD - Corona、Actionscript、HTML5、Unity 还是 Marmalade?

jquery - 如何制作包含大量图像的可维护 PhoneGap 页面?

javascript - 添加一个 onClick 事件到 append()

javascript - AngularJS - 我如何 $watch 一个深度嵌套的数组?

javascript - Node.js "express"是否带有 "connect"?

javascript - 在步骤中更改检查文件大小和文件类型 Jquery-Steps

javascript - 如何通过ajax加载JS文件?

javascript - jQuery/JS/etc 菜单生成器

jquery - 如何在 IE 中向文本区域添加缩放器?

html - 在绝对定位的 div 上对齐文本 - 维恩图