jQuery第三课 ——元素尺寸、滚动距离、元素距离、jq事件、event对象
来源:互联网 发布:serge lang知乎 编辑:程序博客网 时间:2024/05/02 00:36
23、元素尺寸
(1)width() height() 不带单位,即css中设置的值
(2)innerWidth() innerHeight() width + padding 注意clientWidth也是width + padding
(3)outerWidth() outerHeight() width + padding + border
(4)outerWidth(true) width + padding + border +margin
上面的方法,既可以获取也可以设置,width(399)与原生js的区别 :原生js获取不到隐藏(display:none)元素的尺寸,但是jQ可以(5)可视区的尺寸 $(window).width() $(window).height() 原生js document.documentElement.clientX(6)整个页面的高$(document).height() 原生js document.body.offsetHeight(7)滚动距离 : 可获取,可设置,整屏切换$(document).scrollTop() $(document).scrollLeft() 原生js document.body.scrollTop || document.documentElement.scrollTop;滚动到了底部 : $(document).scrollTop() = $(document).height() - $(window).height()24、元素的距离(1)、$('.div1').offset().left $('.div1').offset().top 注意 : 它是距离整个页面来说的,与元素的父级或本身是否有定位无关(2)、position()$('.div1').、position().left $('.div1').、position().top注意 : 看有没有定位的父级,或祖先节点,有的话,则到父元素,没有的话,则到整个页面。它不认子元素的margin,但认float(3)、offsetParent() 找到有定位父级的祖先节点eg:懒加载图片25、JQ的事件 :jq中的事件操作都是绑定的形式,不会覆盖(1)on() : click()、one()、delegate()最终都会调on();基本写法 : $('div').on('click',function(){})扩展写法(与委托写法detegate一样) :$('div').on('click','input',{name : 'hello'},function(ev){ console.log(ev.data) //{name : 'hello'} //注意此时的ev是jQuery下的,并不是原生js的, //如何获取 :ev.originalEvent})(2)off() 取消事件$('.div').on('click,mouseover',function() { alert(11); $('.div').off() //无参数则取消全部,有参数('click'),则取消click事件})eg:多次添加’on‘的操作方式$('div').on('click',function(){ $('span').on('click',function(){ alert(1) })})假如div点击10次,span点击一次,也会弹10次,解决办法 :$('span').off().on('click',function(){ alert(1) })26、Event对象(1)、pageX() clientX(); 整个页面 可视区的(2)、which 键盘键值,注意没有(); 左1 中2 右3 (3) target 事件源(4) stopPropagation() 阻止冒泡,但不能阻止自身事件(5) preventDefault() 阻止默认事件(6) return false 阻止冒泡和阻止默认事件(7) stopImmediatePropagation() 阻止冒泡,也能阻止自身事件的触发$(document).on('click',function(ev) { ev.which; ev.target})eg:阻止右键事件$(document).on('contextmenu',function() { ev.preventDefault()})eg:拖拽 ,会写原生的,在写jq就很简单了27、delegate() 重点: 对后续添加的元素依然拥有事件行为$('.ul1').delegate('li','click',function(ev){ $(ev.delegateTarget).css('border','1px solid #0cf') //ev.delegateTarget == .ul1 $(this).css('background','red'); //this == li $(ev.delegateTarget).undelegate() //undelegate()取消绑定 就是只执行一次,加在父级,利用冒泡})28、trigger() 主动触发(1)比click更强大(2)事件的命名空间 ,如下例子$('#btn').on('click',function() { alert(123)})$('#btn').on('click.abc',function() { alert(456)})$('#btn').trigger('click.abc') //自动弹出45629、JQ工具方法 (1)类型 :$.type(); (2)是否是函数(true false) :$.isFunction() (3)是否是数字(如果是字符’123‘,也会隐式转) :$.isNumeric(); (4)是否是空对象 : $.isEmptyObject(); 空对象 [] {} (5)判断是不是对象自变量 : $.isPlainObject(); (6)$.extend(obj1,obj2) 对象继承操作,不影响父级,默认是浅复制,深层复制,第一个参数,写成true (7)$.proxy() 改this指向 第一种写法 :$.proxy(show,document)(arguments1,arguments2) //show :函数名 document :this指向 (arguments1,arguments1)参数与调用 第二种写法 : $(document).on('click',$.proxy(show,document,arguments1,arguments2),function(){}) eg: $(document).on('click',function(){ setTimeout($.proxy(function(){ //不该,则这里的this是window $(this).find('body').css('background','red') },this),1000) })
0 0
- jQuery第三课 ——元素尺寸、滚动距离、元素距离、jq事件、event对象
- jquery获取元素宽高,浏览器宽高,滚动距离
- 元素和鼠标事件的距离属性
- Jquery获取元素距离文档顶部的距离
- jQuery-获取元素坐标(距离屏幕左侧上侧距离)
- jQuery 实时获取元素距离顶部高度
- jq 判断元素到窗口底部的距离
- jQuery第二课 ——节点选择、元素创建与操作、包装对象、jq转原生js
- 元素距离页面的绝对距离
- 获取元素距离页面的距离
- jquery获取元素到屏幕四周可视距离
- js jquery 获取某一元素到浏览器顶端的距离
- CSS元素竖向距离属性
- jquery滚动元素
- Jquery—事件event
- jQuery尺寸相关、滚动事件
- Event对象的坐标及距离
- javascript获取元素距离网页的left距离
- Thread.UnCaughtExceptionHandler接口,为每一个Thread对象创建一个异常处理器
- 邮箱的正则表达式
- 数据结构考研复习--线性表1
- Android分享一款漂亮的折叠书架菜单
- 重温排序法之--快速排序法
- jQuery第三课 ——元素尺寸、滚动距离、元素距离、jq事件、event对象
- Ubuntu15.04解决gedit中文显示乱码
- 黑马程序员--内存管理**重点
- leetcode 3sum
- Git中从远程的分支获取最新的版本到本地方式如下
- 收录一些常用的面试题目含参考答案(一)
- CSS在网页的中应用方式
- Android的四大组件之ContentProvider(对外程序共享数据)
- swing入门教程