当在IE的bootstrap模式对话框中显示时,无法在dojo组合框中选择下拉项

时间:2016-05-25 05:36:48

标签: combobox dojo modal-dialog bootstrap-modal dropdown

在bootstrap模式对话框中显示dojo组合框时,我无法选择下拉项。

实际上下拉选项显示在我使用高z-index(例如1100)来修复它的对话框后面

虽然上述解决方案适用于chrome,但不幸的是它不适用于IE。

随后的研究表明,这可能是由于焦点问题

https://github.com/select2/select2/issues/600

  

bclarkejr于2013年3月15日发表评论

     

不确定你现在只是在等待修复引导程序,但是我   仍然认为dropdownContainer修复是必需的。所有模态都需要   远离页面的焦点,而不仅仅是引导程序。据我所知,它是   模态应该如何工作(例如,如果模态中没有东西,   它无法获得焦点。

虽然这篇文章为我提供了有关情况的见解,但是我找不到一个好的解决方案,你们有什么建议吗?

我为此创建了一个jsfiddle:

http://jsfiddle.net/ab4Lfdhu/15/

require([
  "dojo/store/Memory", 
  "dijit/form/ComboBox", 
  'dojo/dom',
  'dojo/parser',
  'dijit/registry',
  "dojo/domReady!"
], function(
  Memory, 
  ComboBox,
  dom,
  parser,
  registry
){
  var store1 = new Memory({
    data: [
      {name:"Alabama", id:"AL"},
      {name:"Alaska", id:"AK"},
      ...
    ]
  });

  var id = 'mycountry1';
  parser.instantiate([dom.byId(id)]);
  var control = registry.byId(id);
  control.set('store', store1);

  $('#mybutton').click(function() {
    var store2 = new Memory({
      data: [
        {name:"Alabama", id:"AL"},
        {name:"Alaska", id:"AK"},
        ...
      ]
    });

    var id = 'mycountry2';
    parser.instantiate([dom.byId(id)]);
    var control = registry.byId(id);
    control.set('store', store2);

    $('#myModal').modal('show');
  });
});

在IE中浏览此小提琴时,您可以从对话框外部的下拉列表中选择任何选项,但不能从对话框中的下拉列表中选择任何选项

0 个答案:

没有答案