7

jqTouchで私が抱えているさらに別の問題...クリックされたアイテムから次のページにパラメーターを渡すことができるように、アニメーションをトリガーするためにクリックされた要素を検出しようとしています。

私のHTMLは:

<div id="places">
 <div class="toolbar">
        <h1>Places</h1>
  <a class="back" href="#">Back</a>
    </div>
 <ul>
  <li id="1"><a href="#singleplace">Place 1</a></li>
  <li id="2"><a href="#singleplace">Place 2</a></li>
  <li id="3"><a href="#singleplace">Place 3</a></li>
 </ul>
</div>

<div id="singleplace">
 <div class="toolbar">
        <h1></h1>
  <a class="back" href="#">Back</a>
    </div>
</div>

#places のリスト項目のいずれかをクリックすると、#singleplace に問題なくスライドできますが、#singleplace div にパラメーターを渡すことができるように、クリックされた要素を検出しようとしています。私のJavaScriptは:

var placeID;
$('#places a').live('mouseup',function(){
 $('#singleplace h1').html($(this).text())
 placeID = $(this).parent().attr('id');
})

$(el).live('event', fn()) アプローチに代わるいくつかの方法を試しました。

$('#places a').live('click',fn()...
$('#places a').live('mouseup',fn()...
$('#places a').live('tap',fn()...
$('#places a').tap(fn()...

どれもうまくいかないようです。これを処理するより良い方法はありますか?jqTouch の問題ページで気づいたことがあります。http ://code.google.com/p/jqtouch/issues/detail?id=91 これ は問題の一部である可能性があります...

4

2 に答える 2

2

クリックされたリスト項目からの情報を渡したいだけの場合は、項目に を添付できonClick="function(event)"ます...

<li><a id="1" title="first" onClick="send(event)" href="#singleplace">Place 1</a></li>

それからjsで...

function send(event) {
    x=event.target;
}

どこx.id=='1' x.title==first & x.text=='Place 1'

それが少し役立つことを願っています。

于 2010-04-19T20:01:35.280 に答える
2

私は解決策を見つけました:

  • tap(function()...)の代わりに使用live('click',function()...)
  • 使用するjQT.goTo('#singleplace', 'slide');
  • 使用するreturn false;

    var placeID;  
    $('#places a').tap(function(){  
     $('#singleplace h1').html($(this).text());  
     placeID = $(this).parent().attr('id');  
     jQT.goTo('#singleplace', 'slide');     
     return false; 
    });

これは、モバイル サファリだけでなく、Firefox や Safari でも機能します。

追加情報:
JQTouch のライブ イベントに問題があるようです: http://code.google.com/p/jqtouch/issues/detail?id=165

これもうまくいくかどうか教えてください。

于 2010-05-20T17:07:23.940 に答える