dijit.form.select将关闭IE中的周围工具提示对话框

时间:2010-01-29 09:00:26

标签: select internet-explorer dojo

我在工具提示对话框中使用dijit.form.select遇到了一个奇怪的行为。这是我的代码的缩写部分:

<div id="toolbar" dojoType="dijit.Toolbar">
  <div dojoType="dijit.form.DropDownButton">
    <div dojoType="dijit.TooltipDialog" id="tooltip">
      <input dojoType=dijit.form.TextBox type="text" id="textbox">
      <select id="select" dojoType="dijit.form.Select">
        <option value="1">1</option>
        <option value="2">2</option>
      </select>
      <button dojoType="dijit.form.Button" type="submit" id="button">click</button>
    </div>
  </div>
</div>

每当我打开工具栏并显示表单时,只要我在IE中选择一个选项,工具提示对话框就会关闭! FF还可以......

我现在的解决方法是使用普通选择(我只省略'dojoType =“dijit.form.Select”'),但出于布局原因,我想要一个dijit.form.select。

任何提示都表示赞赏。

问候,选择0r

1 个答案:

答案 0 :(得分:0)

  1. 使用正常的“选择”不是一个选项,因为我需要动态更改选项,这对于正常选择来说确实很痛苦。我也希望页面上的所有选择看起来都一样。
  2. dijit.FilteringSelect不会显示相同的错误,但需要动态更改选项的不同处理方式。我也不喜欢下拉列表是输入字段。
  3. 所以我提出了以下解决方法,这仍然不是一个可接受的解决方案,但至少我现在可以忍受的事情:

    <div dojoType="dijit.form.DropDownButton" id="DropDownButton">
      <div dojoType="dijit.TooltipDialog" id="tooltip">
        <input dojoType=dijit.form.TextBox type="text" id="textbox">
        <select id="select" dojoType="dijit.form.Select" onChange="dijit.byId("DropDownButton").openDropDown();">
          <option value="1">1</option>
          <option value="2">2</option>
        </select>
        <button dojoType="dijit.form.Button" type="submit" id="button">click</button>
      </div>
    </div>
    
    1. dijit.Toolbar已删除,因为没用。
    2. Select现在将调用DropDownButton的方法“openDropDown”onChange,再次显示TooltipDialog。
    3. 现在我可以在IE中使用TooltipDialog - 但仍然存在一个问题:TooltipDialog保持隐藏在IE中,直到我将鼠标移动一个像素。但至少我不必再次点击按钮打开对话框。