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>