【问题标题】:Native widgets created by Dojo don't workDojo 创建的本机小部件不起作用
【发布时间】:2011-03-24 23:11:54
【问题描述】:

我正在使用 dojo.create 将一些本机小部件投放到页面上。特别是,我在页面上放置了一组单选按钮,它们是否正常工作取决于我放置它们的位置。

我想将它们放入我创建的 DIV 中。但是,当我这样做时,它们不起作用。如果我把它们放在身体的底部,它们就会起作用。如果我将它们与我之前创建的另一组单选按钮放在同一个 DIV 中(我也创建了那个 DIV),它们就可以工作。如果我将带有按钮的新 DIV 放入它们工作的 DIV 中,或者放在页面底部,它们就不起作用。

“不工作”是指我连接到他们的 onclick,但未调用我连接的函数。在 Firefox 中,单选组的行为是正常的:我可以选择组中的任何一个按钮。在 IE 8 中,我无法更改选择的项目。

这种行为有人认识吗?

【问题讨论】:

    标签: javascript dojo widget native


    【解决方案1】:

    “只要你寻求帮助,你就会自己弄清楚。”经常发生在我身上。

    事实证明,在这种情况下,问题在于我调整了放置单选按钮的 div 的 innerHTML(只是插入一些文本)。我不知道为什么会出现问题,但是 不要那样做! 我没有对 innerHTML 进行操作,而是创建了几个 span 并分配给 它们的 innerHTML。这不是问题。

    【讨论】:

    • 调整 innerHTML 会破坏相应的 DOM 子树并重新创建它。这将使您的事件侦听器无效,并且如果您仍然引用先前存在的 DOM 元素会造成一些麻烦
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多