jQuery 事件方法
jQuery 事件方法
資料來源: https://www.runoob.com/jquery/jquery-ref-events.html
事件方法觸發器或添加一個函數到被選元素的事件處理程序。
下面的表格列出了所有用於處理事件的jQuery 方法。
| 方法 | 描述 |
|---|---|
| bind() | 向元素添加事件处理程序 |
| blur() | 添加/触发失去焦点事件 |
| change() | 添加/触发 change 事件 |
| click() | 添加/触发 click 事件 |
| dblclick() | 添加/触发 double click 事件 |
| delegate() | 向匹配元素的当前或未来的子元素添加处理程序 |
| die() | 在版本 1.9 中被移除。移除所有通过 live() 方法添加的事件处理程序 |
| error() | 在版本 1.8 中被废弃。添加/触发 error 事件 |
| event.currentTarget | 在事件冒泡阶段内的当前 DOM 元素 |
| event.data | 包含当前执行的处理程序被绑定时传递到事件方法的可选数据 |
| event.delegateTarget | 返回当前调用的 jQuery 事件处理程序所添加的元素 |
| event.isDefaultPrevented() | 返回指定的 event 对象上是否调用了 event.preventDefault() |
| event.isImmediatePropagationStopped() | 返回指定的 event 对象上是否调用了 event.stopImmediatePropagation() |
| event.isPropagationStopped() | 返回指定的 event 对象上是否调用了 event.stopPropagation() |
| event.namespace | 返回当事件被触发时指定的命名空间 |
| event.pageX | 返回相对于文档左边缘的鼠标位置 |
| event.pageY | 返回相对于文档上边缘的鼠标位置 |
| event.preventDefault() | 阻止事件的默认行为 |
| event.relatedTarget | 返回当鼠标移动时哪个元素进入或退出 |
| event.result | 包含由被指定事件触发的事件处理程序返回的最后一个值 |
| event.stopImmediatePropagation() | 阻止其他事件处理程序被调用 |
| event.stopPropagation() | 阻止事件向上冒泡到 DOM 树,阻止任何父处理程序被事件通知 |
| event.target | 返回哪个 DOM 元素触发事件 |
| event.timeStamp | 返回从 1970 年 1 月 1 日到事件被触发时的毫秒数 |
| event.type | 返回哪种事件类型被触发 |
| event.which | 返回指定事件上哪个键盘键或鼠标按钮被按下 |
| event.metaKey | 事件触发时 META 键是否被按下 |
| focus() | 添加/触发 focus 事件 |
| focusin() | 添加事件处理程序到 focusin 事件 |
| focusout() | 添加事件处理程序到 focusout 事件 |
| hover() | 添加两个事件处理程序到 hover 事件 |
| keydown() | 添加/触发 keydown 事件 |
| keypress() | 添加/触发 keypress 事件 |
| keyup() | 添加/触发 keyup 事件 |
| live() | 在版本 1.9 中被移除。添加一个或多个事件处理程序到当前或未来的被选元素 |
| load() | 在版本 1.8 中被废弃。添加一个事件处理程序到 load 事件 |
| mousedown() | 添加/触发 mousedown 事件 |
| mouseenter() | 添加/触发 mouseenter 事件 |
| mouseleave() | 添加/触发 mouseleave 事件 |
| mousemove() | 添加/触发 mousemove 事件 |
| mouseout() | 添加/触发 mouseout 事件 |
| mouseover() | 添加/触发 mouseover 事件 |
| mouseup() | 添加/触发 mouseup 事件 |
| off() | 移除通过 on() 方法添加的事件处理程序 |
| on() | 向元素添加事件处理程序 |
| one() | 向被选元素添加一个或多个事件处理程序。该处理程序只能被每个元素触发一次 |
| $.proxy() | 接受一个已有的函数,并返回一个带特定上下文的新的函数 |
| ready() | 规定当 DOM 完全加载时要执行的函数 |
| resize() | 添加/触发 resize 事件 |
| scroll() | 添加/触发 scroll 事件 |
| select() | 添加/触发 select 事件 |
| submit() | 添加/触发 submit 事件 |
| toggle() | 在版本 1.9 中被移除。添加 click 事件之间要切换的两个或多个函数 |
| trigger() | 触发绑定到被选元素的所有事件 |
| triggerHandler() | 触发绑定到被选元素的指定事件上的所有函数 |
| unbind() | 从被选元素上移除添加的事件处理程序 |
| undelegate() | 从现在或未来的被选元素上移除事件处理程序 |
| unload() | 在版本 1.8 中被废弃。添加事件处理程序到 unload 事件 |
| contextmenu() | 添加事件处理程序到 contextmenu 事件 |
| $.holdReady() |
用于暂停或恢复.ready() 事件的执行 |
Ex Code:
$("p").bind("click",function(){
alert("這個段落被點擊了。");
});
$("input").blur(function(){
alert("输入框失去了焦点");
});
$("input").change(function(){
alert("文本已被修改");
});
$("p").click(function(){
alert("段落被点击了。");
});
$("p").dblclick(function(){
alert("这个段落被双击。");
});
$("div").delegate("p","click",function(){
$("p").css("background-color","pink");
});
$("p").die();
$("img").error(function(){
$("img").replaceWith("<p>图片加载错误!</p>");
});
$("h1,h2,p").click(function(event){
alert(event.currentTarget === this);
});
$("p").each(function(i){
$(this).on("click",{x:i},function(event){
alert("序号:" + $(this).index() + ". 段落的数据为: " + event.data.x);
});
});
$("div").on("click","button",function(event){
$(event.delegateTarget).css("background-color", "pink");
});
$("a").click(function(event){
event.preventDefault();
alert("检查 preventDefault() 是否被调用: " + event.isDefaultPrevented());
});
$("div").click(function(event){
event.stopImmediatePropagation();
alert(event.isImmediatePropagationStopped());
});
$("div").click(function(event){
event.stopPropagation();
alert(event.isPropagationStopped());
});
$("p").on("custom.someNamespace",function(event){
alert(event.namespace);
});
$("p").click(function(event){
$(this).trigger("custom.someNamespace");
});
$("button").click(function(){
$("p").off("custom.someNamespace");
});
$(document).mousemove(function(event){
$("span").text("X: " + event.pageX + ", Y: " + event.pageY);
});
$(document).mousemove(function(event){
$("span").text("X: " + event.pageX + ", Y: " + event.pageY);
});
$("a").click(function(event){
event.preventDefault();
});
$("div").mouseenter(function(event){
alert("relatedTarget 为: " + event.relatedTarget);
});
$("button").click(function(){
return "Hello world!";
});
$("button").click(function(event){
$("p").html(event.result);
});
$("div").click(function(event){
alert("事件句柄 1 被执行");
event.stopImmediatePropagation();
});
$("div").click(function(event){
alert("事件句柄 2 被执行");
});
$("div").click(function(event){
alert("事件句柄 3 被执行");
});
$("span").click(function(event){
event.stopPropagation();
alert("The span element was clicked.");
});
$("p").click(function(event){
alert("The p element was clicked.");
});
$("div").click(function(){
alert("The div element was clicked.");
});
$("p, button, h1").click(function(event){
$("div").html("通过 " + event.target.nodeName + " 元素触发。");
});
$("button").click(function(event){
$("span").text(event.timeStamp);
});
$("p").on("click dblclick mouseover mouseout",function(event){
$("div").html("Event: " + event.type);
});
$("input").keydown(function(event){
$("div").html("Key: " + event.which);
});
$( "#checkMetaKey" ).click(function( event ) {
$( "#display" ).text( event.metaKey );
});
$("input").focus(function(){
$("span").css("display","inline").fadeOut(2000);
});
$("div").focusin(function(){
$(this).css("background-color","#FFFFCC");
});
$("div").focusout(function(){
$(this).css("background-color","#FFFFFF");
});
$("p").hover(function(){
$("p").css("background-color","yellow");
},function(){
$("p").css("background-color","pink");
});
$("input").keydown(function(){
$("input").css("background-color","yellow");
});
$("input").keypress(function(){
$("span").text(i+=1);
});
$("input").keyup(function(){
$("input").css("background-color","pink");
});
$("button").live("click",function(){
$("p").slideToggle();
});
$("img").load(function(){
alert("图片已载入");
});
$("div").mousedown(function(){
$(this).after("Mouse button pressed down.");
});
$("p").mouseenter(function(){
$("p").css("background-color","yellow");
});
$("p").mouseleave(function(){
$("p").css("background-color","gray");
});
$("p").mouseleave(function(){
$("p").css("background-color","gray");
});
$("p").mouseout(function(){
$("p").css("background-color","gray");
});
$("p").mouseover(function(){
$("p").css("background-color","yellow");
});
$("div").mouseup(function(){
$(this).after("释放鼠标按钮。");
});
$("button").click(function(){
$("p").off("click");
});
$(document).ready(function(){
$("p").on("click",function(){
alert("段落被点击了。");
});
});
$("p").one("click",function(){
$(this).animate({fontSize:"+=6px"});
});
$("button").click($.proxy(objPerson,"test"));
$(document).ready(function(){
$("button").click(function(){
$("p").slideToggle();
});
});
$(document).ready(function(){
$("button").click(function(){
$("p").slideToggle();
});
});
$(window).resize(function(){
$('span').text(x+=1);
});
$("div").scroll(function(){
$("span").text(x+=1);
});
$("input").select(function(){
alert("文本已选中!");
});
$("form").submit(function(){
alert("提交");
});
$("p").toggle(
function(){$("p").css({"color":"red"});},
function(){$("p").css({"color":"blue"});},
function(){$("p").css({"color":"green"});
});
$("button").click(function(){
$("input").trigger("select");
});
$("button").click(function(){
$("input").triggerHandler("select");
});
$("button").click(function(){
$("p").unbind();
});
$("body").undelegate();
$(window).unload(function(){
alert("Goodbye!");
});
<div id="target">
右键单击这里
</div>
<script>
$(function () {
$( "#target" ).contextmenu(function() {
alert( "处理程序.contextmenu()被调用。" );
});
})
</script>
<button id="first">点击测试弹出</button>
<button id="second">解除延迟</button>
<script>
$.holdReady(true)
$(document).ready(function(){
$("#first").click(function(){
alert("解除延迟后被弹出");
})
})
$("#second").click(function(){
$.holdReady(false);
})
</script>