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 ブラウザーでリンクを開きますか? 次に、JavaScript への依存を避けるために、代わりに target="_blank" を使用することをお勧めします。

アプリ内のすべてのリンクでそれが必要な場合<base target="_blank">は、コードのセクションに追加するだけです。

于 2013-11-07T20:37:10.050 に答える
1

querySelectorAllと を使用した直接ポートは次の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 に答える