我负责工作的网站,最近我添加了ajaxy请求,以使其更快,响应更快.但它提出了一个问题.
在我的页面上,左侧有一个索引表,就像菜单一样.单击它后,它会发出填充页面其余部分的请求.您可以随时单击索引的另一个项目以加载其他页面.
在添加javascript之前,可以为索引的每个项目进行中间点击(打开新选项卡),这允许在我处理其中一个时加载其他页面.但由于我已将所有链接更改为ajax请求,因此它们现在执行一些javascript而不是真正的链接.因此,当我中间点击它们时,它们只打开空标签.
有没有办法结合两种功能:链接在左键单击时触发javascript或在中间单击时触发新标签?它是否必须是一些丑陋的JavaScript捕获每次点击并相应地处理它们?
谢谢.
是.代替:
...
做这个:
...
然后在你的JS中,通过它的ID挂钩链接来进行AJAX调用.请记住,您需要阻止点击事件冒泡.大多数框架都内置了一个可以调用的事件杀手(只需查看其Event类).
这是jquery中的事件处理和事件杀手:
$("#thisLink").click(function(ev, ob) { alert("thisLink was clicked"); ev.stopPropagation(); });
当然,你可以有很多更聪明,而杂耍之类的东西,但我想强调的是,这种方法是非常重要的这样比使用更清洁onclick
的属性.