Dojo Dijit - 小部件中的小部件

时间:2012-12-04 12:23:08

标签: dojo

  • 我使用的是OneUI,它基本上只是dojo didjit小部件的扩展。

我需要在窗口小部件中放置一个小部件。 我正在使用带有data-dojo-type =“dojo.store.Memory”的div。 然后我使用data-dojo-props设置其中的各种元素。 例如,我在data-dojo-props中设置了一些跨度和链接。 这些工作和显示正常。 我现在正在尝试添加一个div,它本身就是一个小部件。所以我添加了div,在这个div中我将data-dojo-type设置为HoverHelpToolTip并设置一些其他元素,如onmouseover和一些data-dojo-props。

基本上应该发生的事情是鼠标悬停时会弹出悬停帮助工具提示 - 但它根本不起作用。

所以我想我的问题是如何在一个小部件中正确嵌套?

由于

示例代码

我宣布如下......

<div data-dojo-id="store1819454249457680384" data-dojo-type="dojo.store.Memory"     id="store1819454249457680384" data-dojo-props="data:[{"Name":"<!--o3nv-->&nbsp;","id":1,"gender":"Female","ActionColumn":"<span class=\"actions\" ><a href=\"...\" onclick=\"...\" title=\"Click here to edit this item\" >Edit<\/a><span class=\"linksDivider\" > | <\/span><a href=\"#\" onclick=\"...\" title=\"Click here to delete this item\" >Delete<\/a><\/span>","Person.firstName":"werrwewre",

<!-- This is the start of the code in question -->

"HelpColumn":"<div class=\"hiddenHelpDialog\" data-dojo- props=\"forceFocus:true,connectId:['helpAnchor_rowHelp10309939']\" data-dojo- type=\"idx\/oneui\/HoverHelpTooltip\" id=\"rowHelp10309939\" style=\"text-align: left;  position:relative; display:none\" widgetid=\"rowHelp10309939\" ><div  class=\"helpDivDialog\" ><p class=\"helpFieldHeadingDialog\" >\u00a0<\/p><p  class=\"helpDescriptionTextDialog\" >BLAH BLAH BLAH BLAH<\/p><\/div><\/div><a  class=\"openHelpLink openHelpLinkDisplayField\" id=\"helpAnchor_rowHelp10309939\"  onmouseover=\"idx.oneui.HoverHelpTooltip.defaultPosition=['above']\" ><\/a>"}]" ><!-- comment--></div>

它生成以下HTML,除了不出现HoverHelpTip之外,它可以正常工作。 onmouseover正在解雇。像小部件一样的alsmot没有在dojo中注册?!?!

<div widgetid="rowHelp1248193624" style="text-align: left; position:relative; display:none" id="rowHelp1248193624" data-dojo-type="idx/oneui/HoverHelpTooltip" data-dojo-props="forceFocus:true,connectId:'helpAnchor_rowHelp1248193624'" class="hiddenHelpDialog">        <div class="helpDivDialog">
<p class="helpFieldHeadingDialog">&nbsp;</p>
<p class="helpDescriptionTextDialog">BLAH BLAH BLAH BLAH</p></div></div>
<a class="openHelpLink openHelpLinkDisplayField" id="helpAnchor_rowHelp1248193624" onmouseover="idx.oneui.HoverHelpTooltip.defaultPosition=['above'];">
<span class="hidden">&nbsp;</span></a>

1 个答案:

答案 0 :(得分:0)

当dojo准备就绪时,我通过在DOM节点上调用parser.instantiate(node)来解决这个问题。 我不知道为什么但由于某种原因,小部件没有被拾取/解析。

我检查了dijit.registry并且没有提及它,并且使用dijit.byid的查找返回undefined。 然而,明确地实例化节点是有效的。 任何人都知道为什么????