moveTo不处理dojox.mobile.ListItem中的onClick事件

moveTo不处理dojox.mobile.ListItem中的onClick事件,dojo,dojox.mobile,Dojo,Dojox.mobile,我正在使用Dojo mobile v1.5.1开发一个网页 下面是示例代码 <div dojotype="dojox.mobile.View" selected="true" id="view1"> <div dojotype="dojox.mobile.Heading" label="dojox.mobile.Heading"></div> <div dojotype="dojox.mobile.EdgeToEdgeCategory" labe

我正在使用Dojo mobile v1.5.1开发一个网页

下面是示例代码

<div dojotype="dojox.mobile.View" selected="true" id="view1">
  <div dojotype="dojox.mobile.Heading" label="dojox.mobile.Heading"></div>
  <div dojotype="dojox.mobile.EdgeToEdgeCategory" label=
  "dojox.mobile.EdgeToEdgeCategory"></div>
<div dojotype="dojox.mobile.EdgeToEdgeList">

  <!-- PROBLEM IS IN THIS DIV TAG -->
  <div dojotype="dojox.mobile.ListItem" moveto="view2" transition="slide"
  label="dojox.mobile.ListItem" onclick=
  "document.getElementById(&quot;cfText&quot;).innerText = &quot;Value set&quot;;"
  id="listItem1"></div>

</div>
</div>

<div dojotype="dojox.mobile.View" id="view2">
<div dojotype="dojox.mobile.Heading" label="dojox.mobile.Heading" back="Back" moveto=
"view1"></div>
<div dojotype="dojox.mobile.EdgeToEdgeList">
  <div dojotype="dojox.mobile.ListItem">
    <span id="cfText" class="xspTextComputedField">Value NOT set</span>
  </div>
</div>
</div>

未设置值

它所做的是,单击id为“listItem1”的div标记时,显示id为“view2”的div标记。但是当我在其中添加onClick事件时,它不起作用。如果没有onClick事件,它可以正常工作。

您打算如何处理onClick事件

你不能像下面那样重写那行吗

<div dojotype="dojox.mobile.ListItem" transition="slide"
  label="dojox.mobile.ListItem" onclick="someNewFunction(this)" id="listItem1">
希望这有助于我正确理解你

编辑:

另外,当我尝试在listItem上使用onClick的moveTo时,onClick会工作,而moveTo不会。您可以删除moveTo属性,并将此行添加到新函数的最后一行:

this.transitionTo("move2");
再次编辑:

您还可以删除转换并将其添加到Transitiono调用中。

明白了

添加以下脚本:

<script type="text/javascript"> 
function setValue() {
    var cfText = dojo.byId("cfText");
    cfText.innerHTML = "Value Set";
}
dojo.addOnLoad(
    function() {
        dojo.connect(dijit.byId("listItem1"), "onClick", dojo.hitch(dijit.byId("listItem1"), setValue));
    }
);
</script> 

函数setValue(){
var cfText=dojo.byId(“cfText”);
cfText.innerHTML=“值集”;
}
dojo.addOnLoad(
函数(){
connect(dijit.byId(“listItem1”)、“onClick”、dojo.hitch(dijit.byId(“listItem1”)、setValue));
}
);
还要从id为“listItem1”的div标记中删除“onClick”属性值


谢谢您的帮助。

谢谢您的回复。但你的解决方案不起作用。相反,它抛出一个错误:对象[Object DOMWindow]没有方法“Transition”。我猜它是在尝试将所有的转换到当前窗口的对象中。我尝试在div对象上调用它,但它也会抛出错误。我试图在“view2”中设置一个值,然后使用moveTo属性显示它。我发现用户和我有类似的问题。但我无法将解决方案纳入我的问题。对不起。这需要引用listItem对象。我将再次编辑我的帖子。所以在语句“this.transitiono(“move2”);”中,我想你的意思是“view2”而不是“move2”
<script type="text/javascript"> 
function setValue() {
    var cfText = dojo.byId("cfText");
    cfText.innerHTML = "Value Set";
}
dojo.addOnLoad(
    function() {
        dojo.connect(dijit.byId("listItem1"), "onClick", dojo.hitch(dijit.byId("listItem1"), setValue));
    }
);
</script>