在jQuery中,所有的函数(除了ajax)都可以通过jQuery对象进行调用
事件以匿名函数处理时,匿名函数中的this是对应的标签本身,不是调用jQuery函数的jQuery对象
如果在事件的匿名函数里想用jQuery对象,可以使用$(this)
标签对象套在$(标签对象)里,得到的就是一个jQuery对象
事件对象
$("div").click(function(e){
//var ev = e || window.event//不需要再写这一步了
console.log(e);/
})
-
页面载入
* ready(fn)
$(document).ready(function(){
// 在这里写你的代码...
});
相当于
window.onload = function(){
//在这里写你的代码...
}
一个html文件里,window.onload只能有一个,只能执行一次。但ready则没有这些限制
-
事件处理
* on(eve,[sel],[data],fn)1.7+
添加事件。
可添加n个相同事件(如点击),他们会按照顺序依次执行。
jQuery对象调用时,分别给对象里的每个元素添加事件。
<div></div>
<div></div>
$("div").on("click",function(){
alert("点击了");
})
* off(eve,[sel],[fn])1.7+
删除事件。
不管有多少个(比如说是)点击事件,只要写一个点击事件的off就可以把添加的所有点击事件清除
$(".container").on("click",function(){
alert("第一次点击");
})
$(".container").on("click",function(){
alert("第二次点击");
})
$(".container").off("click");
点击container时,不会触发点击事件
* bind(type,[data],fn)3.0-
用on代替
* unbind(t,[d|f])3.0-
用off代替
* one(type,[data],fn)
这个事件处理函数只会被执行一次。
这个事件处理函数会接收到一个事件对象,可以通过它来阻止(浏览器)默认的行为。
如果既想取消默认的行为,又想阻止事件起泡,这个事件处理函数必须返回false。
多数情况下,可以把事件处理函数定义为匿名函数。在不可能定义匿名函数的情况下,可以传递一个可选的数据对象作为第二个参数(而事件处理函数则作为第三个参数)。
$("div").one("click",function(){
alert("点击");
})
分别给每个div添加一个一次性的click处理函数,该函数只执行一次
参数
type:添加到元素的一个或多个事件。由空格分隔多个事件。必须是有效的事件。
data:将要传递给事件处理函数的数据映射
fn:每当事件触发时执行的函数。
* trigger(type,[data])
* triggerHandler(type, [data])
-
事件切换
* hover([over,]out)
* toggle([spe],[eas],[fn])1.9*
-
事件
* blur([[data],fn])
* change([[data],fn])
* click([[data],fn])
* dblclick([[data],fn])
* error([[data],fn])1.8-
* focus([[data],fn])
* focusin([data],fn)
* focusout([data],fn)
* keydown([[data],fn])
* keypress([[data],fn])
* keyup([[data],fn])
* mousedown([[data],fn])
* mouseenter([[data],fn])
* mouseleave([[data],fn])
* mousemove([[data],fn])
* mouseout([[data],fn])
* mouseover([[data],fn])
* mouseup([[data],fn])
* resize([[data],fn])
* scroll([[data],fn])
* select([[data],fn])
* submit([[data],fn])
如果某个构造函数的原型是数组,那么,通过这个构造函数所创建的对象就具有了数组的功能
网友评论