2012-05-05 10 views
1

jqueryモバイルファイルのドキュメント対応フィールドで、リンクのクリックを待っています。次の機能が実行されます。jquery mobile get href var value

$(document).ready(function() { 

    $("a").click(function() 
    { 
    var t = $(this).attr('href'); 
    alert(t); 
    }); 
}); 

ネイティブwebview iOSデバイスでは、通常のブラウザでは機能しません!ブラウザー上では、警告はhrefを正しく返しますが、ネイティブではただ1つしか返しません。奇妙な...ありがとう。

+1

マークアップを表示します。 –

+0

OK、編集済みです。より多くのコードが私に教えてください助けることができる場合。 – Jaume

+1

「マークアップ」とはHTMLを意味していました。 –

答えて

0

私のiOS6 iPad2で、作成中のHTML5ホームスクリーンアプリを実行しています。その短さは、iOSまたはJQueryMobile(私が現在使用している)にバグがあるようです。ここでの時間のトラブルシューティングの後、私が見つけたものです:

  1. event.target Safariや全画面ホームページのアプリで時々#を返し、時には正しいのhrefを返すとき[あなたの例では$(これは)] hrefが返さ。

  2. hrefが返される時間はかなり短いと思われますが、タグのテキストの近くの画像の下部をきれいにするとパターンがそうであるように見えます。タグ。そして、それはいつかのhrefを返します。

だから私は関係なく、私はhrefの値がJQMとiPadで矛盾して取得しようとしたどのようなものの数を試していないと。私はだから何(少なくともために現在は)data-hrefタグのタグ付けが追加されています。たとえば、次のようなマークアップがあります(擬似マークアップあり)

私はあなたの例 または何私がやったでそれをしてテストしていないのに、あなたの例のように $(この).ATTR(「データのhref」)
<div> 
<a href="./home.hmtl" data-href="./home.html" data-ajax=false data-transistion=none"><img {YOUR IMAGE INFO HERE!} /></a><br/> Label-Text-Under-Image 
</div> 

は次にJavaScriptで私は単純にどちらかを行うことができます私の場合は、次のように

$(document).on(
     "click", 
      "a", 
      function (event) { 
       if (event.target instanceof HTMLImageElement) {      
        var aUrl = $(event.target).parent().attr("data-href"); 
        if (typeof aUrl != 'undefined') { 
         event.preventDefault(); 
         alert(aUrl); 
         window.location = aUrl; 
        }    
       }        
      } 
     ); 

(私がやりたいことである)私のページにあるすべてのAタグに影響を与えるするように本当の魔法は: $(event.target).parent()。 attr( "data-href"); 私は、デスクトップとiPadで一貫して正しく返されるdata-hrefを取得しました。もちろん、私の最終版ではアラートコールを削除しましたが、それがJQMを搭載したiPadで作業していたため、ホームスクリーンアプリがSafariを起動できなくなりました。 BTW私はJQM 1.1.0を使用しています。最新版を入手する機会がありませんでした。新しいバージョンで修正されているかどうかは不明です。