在我的网站上,我有一个 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 :
关于javascript - 如何用javascript模拟点击 anchor 标签?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/18617006/