0

我在stackoverflow上找到了这个解决方案。但是如果没有 jquery,这怎么可能呢?

$('a[href^=http]').click(function(e){
    e.preventDefault();

    var activity = new MozActivity({
    name: "view",
    data: {
              type: "url",
               url: $(this).attr("href")
          }
    });
 });
4

2 回答 2

3

您想在 Firefox OS 上的 Firefox Web 浏览器中从您的应用程序中打开链接吗?然后我建议使用 target="_blank" 来避免对 JavaScript 的依赖。

如果您希望应用程序中的所有链接都具有此功能,只需添加<base target="_blank">到代码部分即可。

于 2013-11-07T20:37:10.050 回答
1

这是使用querySelectorAlland的直接端口addEventListener

var els = document.querySelectorAll('a[href^=http]');
for(var i=0,len=els.length;i<len;i++){
   els[i].addEventListener("click",function(e){
         e.preventDefault();
         var activity = new MozActivity({
             name: "view",
             data: { type: "url", url: this.href}
        });
    },false);
}

如果您要动态添加链接,这将不起作用,因为您需要在添加链接或使用事件委托时添加侦听器。

于 2013-11-07T17:05:55.110 回答