如何实现页面第一个控件成为焦点

hackerhope 2010-12-24 10:21:12
问题引子:项目基本设计中要求每一个页面弹出时焦点要求在页面上第一个可以拥有焦点的控件上,基本实现如下:
document.getelementbyid("text1").fouce();


个人想实现共通方法,关键是要找到页面上的第一个控件。
jquery尝试实现:
   $.("input")[0].fouce();

考虑到有些控件并不一定是<input>控件 比如说select 所以失败。

提问1:各位大侠,说说你们的想法,或者已经实现过的可以贴贴自己珍贵的代码,有思路的说个思路,本人会去尝试,实现后贴出代码,谢谢!


本人思路:遍历全部节点,判断控件是否可以成为焦点的控件,将空间设为焦点,返回。

提问2:因为是要找到控件,遍历如何实现?
提问3:如何判断节点上控件是可以拥有焦点呢?
...全文
62 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
hackerhope 2010-12-24
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 zswang 的回复:]
我想大概是这样:

JScript code
var elements = document.getElementsByTagName("*");
for (var i = 0; i < elements.length; i++) {
var element = elements[i];
if (((/^input$/i.test(element.tagName) &a……
[/Quote]

zswang 你好 感谢你的回答,我会参考你的代码,我的思路其实也是如此,我会尽快结贴的,谢谢!
王集鹄 2010-12-24
  • 打赏
  • 举报
回复
我想大概是这样:
var elements = document.getElementsByTagName("*");
for (var i = 0; i < elements.length; i++) {
var element = elements[i];
if (((/^input$/i.test(element.tagName) && /^(text|checkbox|radio|radio)$/i.test(element.type) && !element.readonly) ||
(/^textarea$/i.test(element.tagName) && !element.readonly) ||
(/^select$/i.test(element.tagName))) &&
!element.disabled) {
var style = element.currentStyle || document.defaultView.getComputedStyle(element, null);
if (style.display == "none" || style.visibility == "hidden") continue;
element.focus();
break;
}
}
WXYALBL 2010-12-24
  • 打赏
  • 举报
回复
document.getelementbyid("text1").fouce();
改成:document.getelementbyid("text1").focus();
hackerhope 2010-12-24
  • 打赏
  • 举报
回复
[Quote=引用楼主 hackerhope 的回复:]
问题引子:项目基本设计中要求每一个页面弹出时焦点要求在页面上第一个可以拥有焦点的控件上,基本实现如下:


JScript code
document.getelementbyid("text1").fouce();


个人想实现共通方法,关键是要找到页面上的第一个控件。
jquery尝试实现:


JScript code
$.("input")[0].……
[/Quote]


北漂 叶子 你好,我对你回复得速度感到敬佩,对你掌握的知识和技能毫无怀疑,我希望你能够读完问题在给一个比较符合逻辑的回答,有三个问题,你可以慢慢看一下,谢谢
叶子 2010-12-24
  • 打赏
  • 举报
回复

for (int i = 0; i < this.Controls.Count; i++)
{
foreach (Control control in this.Controls[i].Controls)
{
if (control.HasControls())
{
//子控件
}
else
{
if (control is Label)
{
count++;
}
}
}
}

87,914

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧