JQuery的方便之处——宽高设置、坐标值和滚动条+事件绑定机制
1、元素的宽高
可以通过css来进行设置,例如:$("元素").css({"宽度":"值","高度":"值"});
也可以通过JQuery中的函数直接进行设置,比如$("元素").width(数字或字符串);$("元素").height(数字或字符串);不给值的话就相当于获取宽高
两种方法获取宽高的区别,css获取宽高返回值是带单位px的,而JQuery的函数获取宽高是不带单位的。如果用于数学计算还是选择JQuery好一点。
2、坐标值
有两个函数:offset()和position()。offset()能设置位置,position()不能设置坐标值。
offset()函数:获取坐标值:相对浏览器页面的便移。返回的是一个对象Object{top:值,left:值}
设置坐标值:传递参数对象{top:值,left:值},设置之后元素自动变为相对定位。
position()函数:获取在坐标值:相对最近的定位的父元素的便移。
设置坐标值:无法设置。
4、滚动条(滚动显示,原理就是儿子元素的宽高超出了父元素的宽高,所以我们要滚动显示,所以要给父元素加一个overflow:scroll;就会出现一个滚动条)
水平滚动条和垂直滚动条
获取滚动条位置:$("父元素").scrollTop();
$("父元素").scrollLeft();
设置滚动条位置:$("父元素").scrollTop(数字或字符串);
$("父元素").scrollLeft(数字或字符串);
浏览器滚动事件:$(window).scroll(function(){ });
5、JQuery的事件介绍
6、JQuery的事件绑定机制bind
以前如果给一个元素绑定两个或多个事件的时候,是在这个元素对象之后一直.函数就好了。例如要给一个按钮绑定两个事件:
$("button").click(function(){ })
.mouseenter(function(){ });
JQuery很强大,给我们提供了一种事件绑定机制:bind
$("button").bind({
"click":function(){
},
"mouseenter":function(){
}
});
绑定事件之后动态添加元素将不会绑定事件。
7、JQuery事件委托机制delegate(这个也是一种绑定,主要是性能优化)
例如:你有100个li标签,需要给所有的li都绑定一个点击事件,传统的方法:$("li").click(function(){ });这样的话太浪费时间了。所以我们委托给父元素,这样能节省时间。例如:100个li标签的父元素是ul,$("ul").delegate("li","click",function(){
//参数含义 哪些子元素 事件 事件处理程序
});
绑定事件之后动态添加的元素也会绑定事件。
8、on绑定事件 (强烈推荐使用,但是版本1.7以上)
这是绑定的根源,其余所有的绑定事件都是通过on来实现的。提供了一种统一的绑定事件的方法。保留了delegate的优点。
$("父元素").on("事件","子元素",function(){ });
9、off事件的解绑
这个和on对应,$("父元素").off("事件");
10、JQuery提供了一种事件触发机制,用一个事件去触发另一个事件
11、事件对象
阻止事件冒泡:e.stopPropagation();
阻止默认行为:例如 :一个超链接的点击默认行为是跳转 $("a").click(function(e){ e.preventDefault(); });这样在点击的时候就可以阻止默认行为。
获取事件类型:e.type
鼠标的按键类型:左键1 中键2 右键 3
获取按键字母:e.keyCode
获取事件来源:e.target==this 说明是从自己来的,并不是事件冒泡触发的事件。
JQuery的方便之处——宽高设置、坐标值和滚动条+事件绑定机制的更多相关文章
- jquery如何获得页面元素的坐标值
http://www.cnblogs.com/pansly/archive/2011/05/25/2056222.html jquery如何获得页面元素的坐标值 yulutxt是输入经典语录的输入 ...
- JQUERY获取loaded 宽高这么变态
JQUERY获取loaded 宽高这么变态: $('<img/>').attr('src',img.src).load(function() { img.Owidth = $(this). ...
- Qt TabWidget QTabBar 宽高设置
/*************************************************************************** * Qt TabWidget QTabBar ...
- 关于jQuery新的事件绑定机制on()的使用技巧
关于jQuery新的事件绑定机制on()的使用技巧 http://www.jb51.net/article/36064.htm 本篇文章介绍了,关于jQuery新的事件绑定机制on()的使用技巧.需要 ...
- jQuery新的事件绑定机制on()
浏览jQuery的deprecated列表,发现live()和die()在里面了,赶紧看了一下,发现从jQuery1.7开始,jQuery引入了全新的事件绑定机制,on()和off()两个函数统一处理 ...
- jQuery新的事件绑定机制on()示例应用
投稿:whsnow 字体:[增加 减小] 类型:转载 从jQuery1.7开始,jQuery引入了全新的事件绑定机制,on()和off()两个函数统一处理事件绑定,下面通过示例为大家介绍下 ...
- IE6和IE7中<a>标签宽高设置无效的问题
昨天写了一个引导界面, 发现界面中的IE67存在一个问题, 在某些情况下, A锚链接如果设置了宽高,而且position:absolute的情况下, A标签的宽高无效, 至于总体的效果, 因为这个A ...
- 根据设备宽高设置View的大小
得到设备屏幕宽高: WindowManager wManager = (WindowManager)context.getSystemService(Context.WINDOW_SERVICE); ...
- 为什么canvas宽高要设置在标签内>>宽高设置在style和设置在canvas的区别
一直很困惑为什么canvas标签和其他标签不一样,宽高需要设置在canvas标签里,设置在style里就会有问题. 纯粹个人理解,有错误欢迎指出. > 结论写在头 设置在style里有问题其实是 ...
随机推荐
- MyEclipse的Expressions没有结果的解决办法
之前我的Expressions在Value这一列什么都不显示,就连简单的1+2结果3都不显示出来. 然后我咬咬牙把它卸载了,然后重装就好了,我也不清楚是什么原因. 1.之前我安装的目录是"C ...
- linux脚本定期执行
vi /etc/crontab SHELL=/bin/bash PATH=/sbin:/bin:/usr/sbin:/usr/bin MAILTO=root HOME=/ # .----------- ...
- PHP数学函数试题
1.求绝对值的函数是什么? 2.在任意进制之间转换数字的函数是什么? 3.二进制转换为十进制,十进制转换为二进制,十六进制转换为十进制,十进制转换为十六进制,八进制转换为十进制,十进制转换为八进制的函 ...
- apache启动报错:Cannot load php5apache2_2.dll into server
错误信息: httpd.exe: Syntax error on line 178 of D:/Program Files/httpd-2.4.20-x64-vc14-r2 /Apache24/con ...
- Linq skip skipwhile take takewhile
一.Skip()跳过 static void Main(string[] args) { //skip()跳过 ,,,,,,,,,}; //跳过3条 nums.Skip().ToList().ForE ...
- Zabbix3.0 客户端搭建
zabbix客户端安装 我们这边使用编译安装 软件包版本 zabbix-3.0.3.tar.gz 添加用户组 #groupadd zabbix #useradd -s /sbin/nologin -g ...
- WPF中ListBox控件选择多个数据项
XAML: <Window x:Class="WpfApplication1.MainWindow" xmlns="http://schemas.microsoft ...
- nand驱动移植
首先下载nand flash驱动 s3c_nand.c ,此文件包含着nand flash驱动具体的实现,将其复制到drivers/mtd/nand下: s3c_nand.c 下载地址 s3c_nan ...
- FZU Problem 1895 整除45问题(整除问题+字符串维护+优化)
这个题有点烧脑啊,但是只要想清楚被45整除的数,肯定能被5和9整除,能被9整除的数各位加起来肯定是9的倍数,能被5整除的末尾是0或5. 然后dfs的过程稍微不太好懂,还有几个优化必须要注意.dfs的过 ...
- Android Studio 下载地址【包括国内本地下载】
Android Studio 下载地址,目前最新可下载地址,尽量使用下载工具. Android Studio正式发布,给Android开发者带来了不小的惊喜.但是下载地址却不给力,国内似乎无法正常下载 ...