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){...}