添加事件
$(selector).click(function(){});
事件绑定
1..bind();
$(selector).bind('click',function(){});
$(selector).bind('click mouseover',function(){});
//bind()用到了隐式迭代,如果匹配到的元素特别多的时候,比如页面中有100个div元素,就得执行绑定100次。对于大量元素来说,影响到了性能。
但是如果是id选择器,因为id唯一,用bind()方法就很快捷了。
//动态添加的元素无法使用该方法绑定事件
2.delegate();//不常用
3.on();
$(selector).on('click',function(){});
$(selector).on('click','p',function(){});
//当on()的selector参数为空时,其效果完全等同于bind();当selector参数不为空时,其效果完全等同于delegate();
.unbind();
.off();
触发事件
.click();
.trigger();
$(document).click();
//触发document的onclick事件(第二种方式)(触发浏览器默认行为)
$(document).trigger("click");
//触发document的onclick事件(第三种方式)(不触发浏览器默认行为)(相当于阻止默认动作,只会执行事件绑定的函数,并不会触发事件)
$(document).triggerHandler("click");
$("input").on("focus", function () {
alert("我获取了焦点!");
});
//事件触发(不触发浏览器行为)(相当于:只会执行事件绑定的函数,并不会触发事件,并没有获取焦点)
$(document).click(function () {
$("input").triggerHandler("focus");
});
$(selector).click(function(){});
事件绑定
1..bind();
$(selector).bind('click',function(){});
$(selector).bind('click mouseover',function(){});
//bind()用到了隐式迭代,如果匹配到的元素特别多的时候,比如页面中有100个div元素,就得执行绑定100次。对于大量元素来说,影响到了性能。
但是如果是id选择器,因为id唯一,用bind()方法就很快捷了。
//动态添加的元素无法使用该方法绑定事件
2.delegate();//不常用
3.on();
$(selector).on('click',function(){});
$(selector).on('click','p',function(){});
//当on()的selector参数为空时,其效果完全等同于bind();当selector参数不为空时,其效果完全等同于delegate();
//使用.on()方法时,事件只会绑定到$()函数的选择符表达式匹配的元素上,因此可以精确地定位到页面中的一部分,从而减少事件冒泡的开销。
.unbind();
.off();
触发事件
.click();
.trigger();
.triggerHandler();
$(document).click();
//触发document的onclick事件(第二种方式)(触发浏览器默认行为)
$(document).trigger("click");
//触发document的onclick事件(第三种方式)(不触发浏览器默认行为)(相当于阻止默认动作,只会执行事件绑定的函数,并不会触发事件)
$(document).triggerHandler("click");
$("input").on("focus", function () {
alert("我获取了焦点!");
});
//事件触发(不触发浏览器行为)(相当于:只会执行事件绑定的函数,并不会触发事件,并没有获取焦点)
$(document).click(function () {
$("input").triggerHandler("focus");
});