Javascript dojox.mobile.ListItem-通过单击/触摸传递参数
我有以下代码:Javascript dojox.mobile.ListItem-通过单击/触摸传递参数,javascript,list,mobile,dojo,Javascript,List,Mobile,Dojo,我有以下代码: <ul data-dojo-type="dojox.mobile.RoundRectList"> <li data-dojo-type="dojox.mobile.ListItem" data-dojo-props='moveTo:"places_aroud_me_view",callback: set_placeTypeAroundMe_calback("park"),transition:"slide"'>Park</li> &
<ul data-dojo-type="dojox.mobile.RoundRectList">
<li data-dojo-type="dojox.mobile.ListItem" data-dojo-props='moveTo:"places_aroud_me_view",callback: set_placeTypeAroundMe_calback("park"),transition:"slide"'>Park</li>
<li data-dojo-type="dojox.mobile.ListItem" data-dojo-props='moveTo:"places_aroud_me_view",callback: set_placeTypeAroundMe_calback("art"),transition:"slide"'>Art</li>
</ul>
- park
EDIT2:有时在dojo mobile中,您可能会遇到此错误->在您将手指从触摸屏上取下之前,您可能会启动完全不需要的操作或响应(例如,在您将手指取下之前,一个列表被替换为新列表)。这将有助于:
on(item, touch.release, function(e){...}
好主意。这是可行的,但有点“海威尔”——有时做不到它应该做的,所以如果有人有更好的选择,那也不错。我将在下面演示代码。不要为此使用touchstart事件,每次尝试滚动列表时,它都会导致不必要的“单击”;其次:在dquery结果节点上迭代,例如node.forEach(函数(项){on.(项,“单击”。…使用“项”而不是“此”哦。对不起,我没有看到你的附加评论。是的,你是对的。是的。touch.release和touchstart的切换滚动有相同的问题,但是简单的clik在大多数情况下都可以正常工作。
<li id="park" class="places_around_me_list" data-dojo-type="dojox.mobile.ListItem" data-dojo-props='moveTo:"places_aroud_me_view",transition:"slide"'>Park</li>
<li id="art" class="places_around_me_list" data-dojo-type="dojox.mobile.ListItem" data-dojo-props='moveTo:"places_aroud_me_view",transition:"slide"'>Art</li>
require(["dojo/dom", "dojo/query", "dojo/on", "dojo/dom-attr", "dojo/domReady"], function(dom, dquery, on, domAttr){
node = dquery(".places_around_me_list");
on(node, "touchstart", function(e){
id = domAttr.get(this, "id");
//console.log("Clicked id:" + id);
set_placeTypeAroundMe_reference(id);
});
});
require(["dojo/dom", "dojo/query", "dojo/on", "dojo/dom-attr", "dojo/domReady"], function(dom, dquery, on, domAttr){
node = dquery(".places_around_me_list");
dquery(".places_around_me_list").forEach(function(item){
on(item, "click", function(e){
id = domAttr.get(item, "id");
set_placeTypeAroundMe_reference(id);
});
});
});
on(item, touch.release, function(e){...}