【发布时间】:2020-07-02 15:11:58
【问题描述】:
我正在从 HTML 页面中的链接打开一个 jquery 对话框。当对话框的内容长于框的指定高度时,初始焦点在对话框的底部。 (指定的高度是不可改变的——这用于许多不同的地方。) 首次打开对话框时如何让焦点位于对话框顶部?
HTML头部的JQuery对话框代码:
<script>
$(function () {
$("#dialog-detail").dialog({
autoOpen: false,
height: 500,
width: 700,
modal: true,
buttons: {
}
});
$("#create-detail")
.click(function () {
$("#dialog-detail").dialog("open");
$("#dialog-detail").focus("div");
});
});
</script>
对话框 HTML 代码的截断版本:
<div id="dialog-detail" title="Balance Entry Report Detail">
<div id='extPageContainer'>
<header>
<h3>Account information</h3>
</header>
<footer>
<input type='submit' value="Close window" onclick="window.close();" />
</footer>
</div>
</div>
打开对话框的链接在一个列出交易信息的表格中——对话框是表格中某个条目的详细信息:
<a id="create-detail" style="cursor: pointer;">231435353</a>
【问题讨论】:
-
$("#dialog-detail").focus("div")没有意义。当您使用参数调用.focus()时,您正在绑定一个事件处理程序,因此参数必须是一个函数。
标签: jquery modal-dialog jquery-ui-dialog