在新窗口中打开带有类弹出窗口的所有链接

时间:2011-06-09 11:04:48

标签: javascript html javascript-events jquery

我的页面上有很多链接class="popup"

我希望所有这些都能在新窗口中打开。

用Javascript定义它的好方法吗?

2 个答案:

答案 0 :(得分:4)

我正在使用.live()来支持稍后可能添加到DOM的链接。如果您不是从事件处理程序,Ajax回调等添加链接,则只需使用.click()

$('a.popup').live('click', function (e) {
     window.open(this.href);
     e.preventDefault();
});

请注意,根据当前的HTML5规范,您还可以使用:

<a href="#" target="_blank"></a>

正如您之前在HTML4中所做的那样。这样,您就不需要Javascript。不建议在XHTML doctype上使用target,因为它不被视为有效属性。

更新: From the jQuery documentation

  

从jQuery 1.7开始,不推荐使用.live()方法。使用.on()来   附加事件处理程序。旧版jQuery的用户应该使用   .delegate()优先于.live()。

如果您需要帮助更改代码,请务必检查以前的StackOverflow问题。使用SO搜索[jquery] live deprecated是一个良好的开端。

答案 1 :(得分:1)

您可以将其放在$(document).ready()

$('a.popup').attr('TARGET', '_BLANK');