总结篇-jQuery框架相关(未完待续...)

1.jquery不常用但实用的方法

(1)位置相关
    offset()          $(“#qq”).offset()          相对浏览器窗口的位置
    offsetParent()    $(“#qq”).offsetParent()    #qq相对最近的已经定位的祖先的位置
    position()        $(“#qq”).position()        已定位的元素的position值
(2)DOM元素的包裹
    wrap()           $(“#qq”).wrap(“<div id=’qqPar’/>”) 
    wrapAll()        所有指定元素都会被包裹
    wrapInner()      指定元素的内容会被包裹
(3)删除相关
    detach()         删除了还能恢复
    empty()          删除子元素的所有东西
    remove()         删除指定元素
    unwrap()         删除指定元素的父节点,但是保留本身

2.如何用jQuery禁用浏览器的前进后退按钮

$(document).ready(function() {
    window.history.forward(1);
    window.history.forward(-1);
});

3.jQuery的事件委托方法bind 、live、delegate、on之间有什么区别

1.bind(适用于静态元素事件)
用法:主要用于给选择到的元素上绑定特定事件类型的监听函数。
举例:$("#ulPre").bind("click",function(e){});
特点:
  1.适用于页面元素静态绑定,不能给未来新增的元素绑定事件。
    2.当页面加载完的时候,你才可以进行bind(),所以可能产生效率问题。

2.live(一般不用)
用法:主要用于给选择到的元素上绑定特定事件类型的监听函数;
特点:
  1.live方法并没有将监听器绑定到自己(this)身上,而是绑定到了this.context上了。
    2.live正是利用了事件委托机制来完成事件的监听处理。
    3.使用live()方法但却只能放在直接选择的元素后面,不能在层级比较深。

3.delegate
用法:将监听事件绑定在就近的父级元素上
实例:$("table").delegate("td","click",function(){});
特点:
    1.选择就近的父级元素,因为事件可以更快的冒泡上去,能够在第一时间进行处理。
    2.更精确的小范围使用事件代理,性能优于.live()。可以用在动态添加的元素上。

4.on(整合以上三种,最受推荐的事件监听方法,参数的位置写法与delegate不一样)
用法:将监听事件绑定到指定元素上。
实例:$("#info_table").on("click","td",function(){});
特点:
    1.动态添加元素的事件委托。
    2.最为常用的,且其书写方式满足事件绑定的写法规范。

 

 

猜你喜欢

转载自blog.csdn.net/qq_35892039/article/details/84964185