如何触发HTML链接(锚元素)的默认动作/事件
How to trigger the default action/event of a HTML link (anchor element)?
如何触发HTML链接(锚元素)的默认动作/事件?也就是使用JavaScript/jQuery来"点击"一个现有的HTML链接,就好像用户已经点击了它。
仅使用.click()
似乎不起作用。
$('#alink').click();
// the nothing happening
这个HTML:
<a id="alink" href="http://google.com" target="_blank">a link</a>
示例:http://jsfiddle.net/dCfD8/
我宁愿不创建一个新的JavaScript窗口(并照顾任何其他需要处理当一个链接被点击)
你可以在jQuery中使用一个简单的trigger
方法来触发点击事件。
$('#alink').trigger('click');
要注意,即使事件被触发,浏览器也不会跟随链接href。遵循href的唯一方法是自己用鼠标点击它。
据我所知,没有办法强制链接的行为,如果它被点击。你需要改变文档位置或者类似的东西才能在页面之间导航
扩展Fabio Cicerchia对他自己帖子的评论:你可以使用window.open
:
var link = $('#alink');
var target = link.attr("target");
window.open(link.attr("href"), target ? target : "_self");
<script src='jquery lib source' ></script>
<script>
function force()
{ ...do something...to fill page2
$('#gopage2').trigger('submit');
}
</script>
<form action='#page2' id='gopage2'>
</form>
...
<span name='#page2'>This is page2</span>
try this:
$('#alink').trigger('click');
相关文章:
- Backbone.js ModelBinder将默认事件更改为keyup
- 默认事件发生后,我如何执行自己的代码
- 在javascript中阻止文档执行默认操作时,在单个元素中使用默认事件
- jQuery '.click(callback)' 阻止默认事件
- 更改完整日历的议程日视图中的默认事件宽度
- 主动.js防止事件代理上的默认事件
- Javascript的默认事件预防不起作用
- 在自定义点击功能之前执行默认事件
- 无法阻止javascript中的默认事件
- AJAX响应后重新触发javascript默认事件
- 什么's作为匿名函数的默认事件处理程序与函数名称之间的区别
- 在默认事件处理程序之前执行某些操作
- 如何防止整个应用的默认事件动作
- 如何防止手机中的默认事件
- 防止默认事件动作不工作
- 如何防止默认事件的行动,在谷歌地球与IE
- android上的样式选择触发默认事件
- 检测默认事件处理
- 如何防止onclick方法中的默认事件处理
- 空格键不能取消firefox的默认事件