2010-03-04 67 views
7

我還有另一個問題,我有/ jqTouch ... 我試圖檢測什麼元素被點擊觸發動畫,以便我可以將參數從單擊的項目傳遞給後續頁。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( '事件',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 這可能是問題的一部分...

回答

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'

希望有所幫助。

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,不僅在移動Safari中。

一些額外的信息:
似乎是在JQTouch的直播活動的問題:http://code.google.com/p/jqtouch/issues/detail?id=165

讓我知道,如果這也適用於你。