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.最为常用的,且其书写方式满足事件绑定的写法规范。