我有另外一个问题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 ==’放置1′
希望有点帮助.