正在加载中...

jquery input 自动获取焦点DOM对象和jquery对象的问题

jquery input 自动获取焦点DOM对象和jquery对象的问题

网站设计中前端的朋友常常遇到一个小问题,本来想实现的是说:input文本框中要有数据才可以提交,但是如果没有数据的话,就提示需要输入信息,然后自动获取焦点。也就是DOM对象和Jquery对象的问题。

       如果这是在纯js的环境下,很简单,就用.focus()就可以了。但是在jQuery中会遇到一些问题:

 如果使用focus()函数触发每一个匹配元素的focus事件。这将触发所有绑定的focus函数。所以但我们使用这个方法$("#input")返回的就不是DOM对象,而是JQuery对象。

       但是JQuery中也有提供很好地方法将一个JQuery对象转化为一个DOM对象:

       $(”#Input”)[0].focus(); 

       这样这个问题就能都都解决了。

       

       补充一下:什么是DOM对象?什么是JQuery对象?

       DOM对象,即是我们用传统的方法 (javascript)获得的对象, jQuery对象即是用 jQuery类库的选择器获得的对象。注意:在jQuery对象中无法使用DOM对象的任何方法。同样,DOM对象也不能使用jQuery方法。

       两种对象之间可以相互转化,将一个JQuery对象转化为一个DOM对象:有两种方法即[index]和get(index),将一个DOM对象转化为一个jQuery对象:只需要用$()把dom对象包装起来,就可以获得一个jquery对象了。



返回上一页