第一步,父页面弹框设置
layui.use('layer', function () {
var layer = layui.layer;
layer.open({
shade: [0.1, "#fff", true],
shift: 2,
fix: false,
title: ['新增订单', 'backgroup:#252325;color:breck;'],
maxmin: true,
type: 2,
scrollbar: true,
area: ['100%', '100%'],
content: ['/Order/Goods_addorder'],
success: function (layero, index) {
//父页面找子页面的数据进行聚焦
var bod = layer.getChildFrame('body', index);
bod.find("#spxq222").focus();
}
});
});
第二步,在子页面设置可以执行聚焦的text文本框或者a标签
如果没有可以执行的a标签或者text文本框使用以下方法
默认火狐或者其他浏览器里DIV和其他普通标签是不具有onfocus和onblur事件的,经我长久论证因为他们不具有tab属性,所以只要我们创建tab,那么任何标签都可以具有tab属性。
什么标签具有tab呢?显然input和a是得天独厚的具有,我们经常用键盘上的tab键进行移动光标的时候,我们发现光标只在具有tab属性的元素上进行跳转。
我们现在来让div拥有tab并具有onfucus和onblur属性!
给元素创建tab属性:tabindex=参数(这里和z-index类似,计算tab起点)。
- <div tabindex="0" hidefocus="true" οnfοcus='alert("得到焦点");' οnblur='alert("失去焦点");' style="border:1px solid #ccc;width:200px;height:200px;outline=0;"></div>
看到这里你了解了吧!
另外,定义tab属性后,元素是默认会加上焦点虚线的,那么在IE中可以通过hidefocus="true"去除!其他浏览器通过outline=0进行去除!
让弹出页面获取焦点:JavaScript实现

在JavaScript中,使弹出页面获取焦点的方法包括为父页面弹框设置和在子页面设置聚焦元素,如text输入框或a标签。若无可用聚焦元素,可通过给div添加tabindex属性使其具有焦点事件。示例代码展示了如何为div添加onfocus和onblur事件,并在不同浏览器中去除焦点虚线。
367

被折叠的 条评论
为什么被折叠?



