2011-11-17 2 views
0

Dojo 모바일 v1.5.1을 사용하여 웹 페이지를 개발 중입니다.moveTo dojox.mobile.ListItem에서 onClick 이벤트로 작업하지 않습니다.

다음은 샘플 코드입니다. 그것이 무엇을

<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가 "뷰 2"와 div 태그를 보여줍니다. 하지만 onClick 이벤트를 추가하면 작동하지 않습니다. onClick 이벤트가 없으면 정상적으로 작동합니다.

답변

1

GOT IT!

<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> 

는 또한 ID가 "listItem1"로 DIV 태그에서 "온 클릭"속성 값을 제거 :

는 다음 스크립트를 추가합니다.

나를 도와 주신 덕분에 this discussion에게 감사드립니다.

-1

onclick 이벤트로 무엇을하려고합니까?

<div dojotype="dojox.mobile.ListItem" transition="slide" 
    label="dojox.mobile.ListItem" onclick="someNewFunction(this)" id="listItem1"> 

그런 다음 당신이 원하는 것을 할 수있는 새로운 기능을 만들 : 도움이

function someNewFunction(obj) { 
    var cfText = dojo.byId("cfText"); 
    cfText.innerHTML = "Value"; 
    obj.transitionTo("move2"); 
} 

희망을 내가 제대로 이해

당신은 다음과 같이 그 라인을 다시 할 수 없습니다.

편집 : 나는되는 listItem에 온 클릭으로의 moveTo를 사용하려고 할 때

또한 i를 온 클릭이 작동 것와의 moveTo는 않을 것입니다. 당신은의 moveTo 속성을 제거하고 새로운 함수의 마지막 줄이 줄을 추가 할 수 있습니다 다시

this.transitionTo("move2"); 

편집 :

는 또한 당신은뿐만 아니라 전환을 제거하고 transitionTo 통화에 추가 할 수 있습니다.

+0

답해 주셔서 감사합니다. 그러나 당신의 해결책은 효과가 없습니다. 대신에 오류가 발생합니다 : Object [object DOMWindow]에는 'transitionTo'메서드가 없습니다. 나는 현재 윈도우의 객체에서 모든 transitionTo를 시도하고 있다고 생각한다. div 객체에서 호출하려고했지만 오류가 발생합니다. "view2"에 값을 설정하고 moveTo 특성을 사용하여 표시하려고합니다. 사용자가 나와 비슷한 문제가있는 [이 링크] (http://dojo-toolkit.33424.n3.nabble.com/dojox-mobile-ListItem-onClick-event-td3160130.html)를 발견했습니다. 그러나 나는 내 문제에 해결책을 포함시킬 수 없다. – Naveen

+0

죄송합니다. 이것은 listItem 객체를 참조해야합니다. 내 게시글을 다시 편집하겠습니다 – blong824

+0

"this.transitionTo ("move2 ");"내 생각에 "move2"대신 "view2" – Naveen

관련 문제