我今天遇到了一个小问题。 我本来想实现的是:输入文本框必须有数据才可以提交,如果没有数据则提示需要输入信息,然后手动获取焦点。
如果这是在纯js环境下,就很简单了,用.focus()就可以了。 并且在 jQuery 中你会遇到一些问题:
如果使用 focus() 函数来触发每个匹配元素的焦点风暴。 这将触发所有绑定焦点功能。 所以当我们使用这个方法$("#input")时,返回的不是DOM对象,而是JQuery对象。
不过,JQuery 还提供了一种将 JQuery 对象转换为 DOM 对象的好方法:
$(”#Input”)[0].focus();
这样jquery 焦点框,这个问题就可以解决了。
补充一下:什么是 DOM 对象? 什么是 JQuery 对象?
DOM对象是我们使用传统方法(javascript)获取的对象,jQuery对象是使用jQuery通用选择器获取的对象。 注意:在 jQuery 对象中使用 DOM 对象的任何方法都是困难的。 同样,DOM 对象不能使用 jQuery。
两个对象可以互相转化,将JQuery对象转化为DOM对象:有两种方式jquery 焦点框,分别是[index]和get(index),将DOM对象转化为jQuery对象:只需使用$()即可包装dom对象,就可以得到一个jquery对象。