Jquery ui jQuery UI模式对话框捕获所有按键,以便我可以';不要在里面输入文本

Jquery ui jQuery UI模式对话框捕获所有按键,以便我可以';不要在里面输入文本,jquery-ui,jquery-ui-dialog,Jquery Ui,Jquery Ui Dialog,我创建了模态对话框,其中包含表单(带有一些文本输入)。 我就是无法在文本框中输入文本。对话框阻止键盘输入 以下是我的简化示例: <div id="modal-dialog"> <label for="my-text">TRY to input text...</label> <textarea id="my-text" style="position:relative; z-index:1"></textarea> &l

我创建了模态对话框,其中包含表单(带有一些文本输入)。 我就是无法在文本框中输入文本。对话框阻止键盘输入

以下是我的简化示例:

<div id="modal-dialog">
    <label for="my-text">TRY to input text...</label>
    <textarea id="my-text" style="position:relative; z-index:1"></textarea>
</div>
<script type="text/javascript">
    var dialog = $('#modal-dialog').dialog({ modal: true });
</script>

尝试输入文本。。。
var dialog=$('#modal dialog')。dialog({modal:true});
注意:您可能会问-为什么我提到了
“位置:相对;z索引:1”
?因为没有它,它工作得很好。但由于设计原因,我无法删除它

注意:非模态对话框也可以正常工作


我使用的是jQuery1.6.2+jQueryUI1.8.14

z索引就是问题所在。下面是一个示例(),它使用了更大的z索引。您还可以降低JQuery对话框的z索引:

var dialog = $('#modal-dialog').dialog({ 
    modal: true,
    zIndex: 500
});
默认情况下,它是1000。当然,需要文本输入的相对或绝对定位元素仍然需要大于对话框的z索引。

我发现对话框中的
标记的z索引为1,阻止任何控件工作。不必更改每个控件的
z-index
,只需将
标记的
z-index
更改为1010(一个高于对话框默认值的值)就可以了。

添加
tabindex=“-1”
帮助我解决这个问题

下面是一个例子:

 <div class="modal fade" tabindex="-1" id="error" role="dialog">


是否尝试删除文本区域中的样式?只是为了好玩。模态功能是文档其余部分上方的z索引div。可能就是这样?谢谢,这很有帮助。但在我看来,这似乎是jQueryUI的bug。你似乎在写完之前就已经发布了。OP应该把这个属性放在哪里?它有什么作用?