2010-03-04 22 views
7

Yine de başka bir sorun yaşıyorum w/jqTouch ... Tıklatılan öğeden parametreleri sonraki nesnelere geçirebilmem için bir animasyonu tetiklemek için hangi öğenin tıklatıldığını algılamaya çalışıyorum sayfa. Ben #places liste öğelerden birini tıkladığınızdaJqTouch - Animasyon için tetikleme algılaması

<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> 

, ben sadece iyi #singleplace için kayabileceği şekilde bakma ama hangi eleman algılamaya çalışıyorum:

Benim HTML parametrelerini #singleplace div'e geçirebilmem için tıklandı. Benim javascript:

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

Yok olan çalışmıyor gibi görünüyor: I (fn() 'olay') yaklaşımı da dahil $ (el) .live için çeşitli alternatifler denedim

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

. Bunu idare etmenin daha iyi bir yolu var mı? Sorunun parçası olabilir http://code.google.com/p/jqtouch/issues/detail?id=91 ...

cevap

2

sadece tıklandığı liste öğesi gelen bilgi geçiş yapmaya çalışan ediyorsanız, bir onClick="function(event)" ekleyebilirsiniz: Ben jqTouch en sorunları sayfasında fark, bu var ürün ... js sonra

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

...

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

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

umarım biraz yardımcı olur. ,

  • Kullanım tap(function()...) yerine live('click',function()...)
  • Kullanım jQT.goTo('#singleplace', 'slide');
  • kullanım return false;

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

Bu hatta Firefox ve Safari'de, benim için çalışıyor: