首页
学习
活动
专区
圈层
工具
发布

当jQuery 1.7遇上focus方法

jQuery中有一个focus()方法能设置对象的焦点,在1.7以下的版本中,不管对象是不是disabed状态,这个方法都不会报错(只是当disabled时,设置焦点的代码无效),但在1.7版本中,如果对象是...disabled状态,这时调用focus()方法时,会直接报异常: Error: Can't move focus to the control because it is invisible, not...意思是:不可见或不可用的元素无法获取焦点。(特别提一下:IE9很NB,能自动识别这种情况,在IE9下不会报错,但是IE9以下的版本全挂。) 测试 jquery-1.7.min.js" type="text/javascript...代码,在focus()之后,还有其它很多事情要做时:) 建议: 如果一定要用最高版本的jQuery,最省事的办法莫过于在写xxx.focus()时,加一个try/catch,变成 try{xxx.focus

90020

jQuery源码研究:jQuery原型对象上的属性方法(上)

,jQuery对象作为构造函数,在其原型上定义了一些属性和方法,同时其原型也被指向jQuery对象的属性fn上面。...至于定义的方法,下面一个个来看。首先需要明确,这些方法都是jQuery实例对象的方法;其次对于js中call的作用要有深刻的理解,才不会看晕。...toArray方法:返回一个包含jQuery对象集合中的所有DOM元素的数组。这个方法不接收任何参数。所有匹配的DOM节点都会包含在一个标准的数组中。...通过this把老的jQuery原型对象挂载到新建的ret对象的prevObject属性上云,这可以看作是jQuery对象的一个引用吧 7 ret.prevObject = this;...这个方法其实作用就是把元素集合添加到一个新的对象中,并且这个对象还具有jQuery对象的引用,所以也就是具有jQuery对象的所有方法和属性,链式调用起来妥妥的呀。

1.7K40
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    jQuery原理(原型上的属性、方法)

    jQuery原型上的属性 kjQuery.prototype = { constructor: kjQuery, init: function (selector) {}, /...: [].splice, }; 关于三个方法(push,sort,splice)以push为例: 通过[].push找到数组的push方法 但是对象的push方法由对象调用,那么this就指向了对象(jQuery...) 所以也就相当于[].push.apply(this)将元素添加到对象身上 jQuery原型上的方法 toArray 把实例转换为数组返回 toArray: function () { return...,是jQuery类型的实例对象 first: function () { return this.eq(0); }, last:获取实例中的最后一个元素,是jQuery类型的实例对象 last:...function () { return this.eq(-1); }, each 遍历实例,把遍历到的数据传给回调使用 jQuery存在两个each方法,一个类方法,一个对象方法。

    1.3K20

    jQuery源码研究:jQuery对象及原型上的extend()方法

    现在看到jQuery的227行,本篇读jQ的继承方法jQuery.extend()。 官方作用解释是将一个或多个对象合并到目标对象中。...return target; } 在jQuery对象上添加extend属性,并且在jQuery.fn上面也添加同样的extend属性,还记得前面jQuery.fn = jQuery.prototype...jQuery对象的fn属性指针就指向jQuery对象的原型,并且因为对象都是引用类型的,所以上例代码的操作意思就是:在jQuery对象和它的原型对象上都添加extend方法,该方法最后返回的是一个合并处理后的对象...在jQuery对象上绑定的extend()和jQuery.fn上绑定的extend()方法其实是不同的,前者是类方法,是静态方法,调用方法写作$.extend();后者是实例方法,是成员方法,调用方法写作...jQuery.fn即原型对象上添加extend()方法的代码解释,再复习下:jQuery对象和其原型上都具有extend()方法,区别在于一个是类方法,一个是成员方法,在使用场景上请注意。

    1.4K30

    jQuery源码研究:jQuery原型对象上的属性方法(下)

    接昨天的jQuery原型属性方法部分。 each()方法:为每个匹配的元素集合执行回调函数,是一个jQuery版的遍历方法。...构造函数的实例对象,凡是jQuery对象原型上的方法,在实例对象中都可以被访问到的。...至于this.pushStack()方法中的参数,可以明显看到它是jQuery构造对象上定义了一个方法map,该方法内部具体实现尚未可知,因为还没读到那部分,但看参数传递可以大概知道,将新创建的元素集合和对新集合进行处理的回调函数传入进去了...jQuery对象集合,而res则是只有一个索引为1的li及其他属性方法组成的`jQuery`对象集合。...( 0 ); }, last: function() { return this.eq( -1 ); }, } 都是调用的jQuery原型对象上的eq()方法

    1.3K50

    Jquery开发插件的方法

    Jquery未开发插件提供了两个方法: (1)Jquery.extend(object)    -为Jquery类本身添加新的方法;代码如下: $.extend({ add:function(a,b...){ return a+b; } }); 调用方法:$.add(3,4) - $=Jquery 为jquery类添加了名为add的一个静态方法,之后便可以在引入jquery的地方,使用这个方法了...,$.add(3,4); (2)Jquery.fn.extend(object) $.fn相当于Jquery的命名空间,fn上的成员(方法function以及属性peoperty)会对每一个实例都有效果...; 查看Jquer用的代码就不难发现 jQuery.fn = jQuery.prototype = {    init: function( selector, context ) { }; 原来jquery.fn...=jquery.property,所以它是对property进行扩展,为jquery添加"成员函数",jquery的实例都可以使用这个"成员函数" 假设我们要开发一款插件,做一个自定义弹框,那么代码可以这么写

    1K50

    jQuery源码研究:为jQ对象扩展的一些工具方法(上)

    上一章,讨论的是jQuery对象及其原型上的extend()方法,在源码中,实现了支持开发者自行扩展新方法的功能,但其实jQuery也通过对extend()传入一个对象参数来添加官方扩展方法,这些工具方法都是扩展在...jQuery类对象上的,所以调用时的写法要注意。...这里复习下for...in...作用,其是用来遍历对象的可枚举属性的,包括对象原型上的可枚举属性。...而如果只想要遍历对象本身的属性且不想遍历出对象原型上的属性,则需要使用hasOwnProperty()方法: var obj = { a: 1, b: 2, c: 3 } function...5、each()方法,这个方法大家就非常熟悉了,遍历对象或数组用的,来看看该方法的内部实现: jQuery.extend({ each:function(obj, callback){

    83930

    angularJS之站在jQuery的肩膀上

    jQuery由一小撮对浏览器极其熟稔的极客负责抹平不同浏览器的差异,其他开发 者只需要基于jQuery进行开发,可以更好地关注业务实现,而不是把时间花在 适配不同的浏览器上。...开发者需要的API都挂接在这个对象上。 它其实是一个类工厂,负责将指定的DOM对象转化为jquery对象。...jquery封装后的DOM对象有一堆的方法供你调用,我们使用text()方法更新其文本。...jQuery是一个库,库总是被动的,就像工具,应用的开发逻辑是你的,在 某一点上需要用一下工具,就用好了。...扩展的方法 jqLite包括一些额外的方法以适应AngularJS框架: controller(name) - 获得元素对应的控制器对象 injector() - 获得元素对应的注入器对象 scope(

    1.2K10

    Jquery $.extend的重载方法详述

    -这个重载方法主要是用来合并,将所有的参数都合并到result中,并返回result,但是这样会破坏result的结构.代码展示:         $(function () {            ...不相同的进行合并,最后返回的p2结果集结构上(多了heigth属性)发生了改变。 2.$.extend({},result,item1,item2,item3,........)   ...-这个方法将合并之后的结果集存到了{}中,并返回,且不会破坏进行合并的两个集合的结构。...不相同的进行合并,最终生成{}集合,此时的p2结果集结构并没有发生改变。...-这种情况常用于嵌套集合 当bool值为true时,两个集合之间的合并为深合并,因为p1,p2两个集合中的adress属性相同,但是adress还拥有子属性(而且两个集合的adress属性的子属性还不相同所以里面的子属性也按照外面的属性合并方法进行合并

    1.1K100

    jquery的ready方法实现原理

    应用jquery时 ready是一个非常常用的方法,我们常常会写 $(document).ready(function) 或 $(function) ready的作用 window.onload...必须等到页面内包括图片的所有元素加载完毕后才能执行,如果网页上有大量的图片,效果可想而知,用户可能在没有看到图片的时候,就已经开始操作页面了 所以window.onload 很难满足我们的需求 而...,jquery用两个方式来保证 1)如果浏览器存在 document.onreadystatechange 事件,当该事件触发时,如果 document.readyState=complete 的时候...,可视为 DOM 树已经载入 不过这个事件不太可靠,比如当页面中存在图片的时候,可能反而在 onload 事件之后才能触发,所以不能完全指望此方法 2)doScroll检测 IE浏览器文档中说明,...当页面 DOM 未加载完成时,调用 doScroll 方法时,会产生异常 那么我们反过来用,如果不异常,那么就是页面DOM加载完毕了,可以不断地通过能否执行 doScroll 判断 DOM 是否加载完毕

    1.8K70

    通过HHDESK,将IPad上的图片导入到个人电脑

    IOS与PC的跨系统“沟壑”一直是一件令人头疼的事情。虽然可以使用微信等工具,实现小文件的传输,但大容量传输,以及在不能联互联网的情况下,跨系统传输依旧不方便。...比如,Ios的图片传输,便需要先上传到云端——而这种方式,安全问题有待商榷。...今天为大家解决的便是这个问题,以Ipad与PC端电脑之间的图片浏览、传输为例,介绍HHDESK功能——文件共享及传输,一个能为IOS与PC接通桥梁的重要功能。1....Ipad上FTP设置请在确保2台设备在同一局域网,并且ipad安装有FTP传输软件。在app内创建ftp链接,填入pc端主机的IP,端口,以及刚刚设置的用户名和密码。...使用技巧1)若只需要浏览照片等简单操作,选择“只读”功能会更加简单;2)如果一直出现连接不上的情况,请检查是不是连入了两个局域网;笔者曾被这个问题卡了大半天;3)如果出现连接被拒绝的情况,请查看防火墙是否关闭

    1.1K40

    将ipad作为电脑拓展屏或分屏的简单方法

    大家好,又见面了,我是你们的朋友全栈君。 用Ipad实现电脑分屏的方法是挺简单的,但鉴于部分小白找不到合适的门路,在此重新分享一下。...需要的装备: ipad 电脑 数据连接线 方法:某宝上搜索 duet display ,只需1元左右 (不需要去买正版或者去按其他教程搞些乱七八糟的东西)。...店家会发给你一个账号和PC端的安装软件,因为这个软件需要同时在ipad和电脑上安装方可实现分屏。...用数据线连接电脑与ipad,打开电脑端的 Duet display , 打开 ipad 上的 Duet ,等待几秒中的匹配适应时间,就可以使用了。...将需要在ipad上显示的界面拖到电脑显示屏的右侧便可以在ipad上显示了。

    6.3K20
    领券