检测动画的触发器

另一个问题,我有w / 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这可能是问题的一部分...


如果你只是想通过哪些列表项被点击的信息,你可以附加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'

希望有点帮助。


我找到了解决方案:

  • 使用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

    让我知道这是否也适用于你。

    链接地址: http://www.djcxy.com/p/45151.html

    上一篇: Detect trigger for animation

    下一篇: What does this Java generics paradigm do and what is it called?