2011-11-17 16 views
0

我正在使用Dojo mobile 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> 

同樣來自div標籤ID爲 「listItem1」 刪除 「的onClick」 屬性值。

感謝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與一個onClick的的onClick將工作和對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「);」,我認爲你的意思是「view2」而不是「move2」 – Naveen