更新时间:2022-08-29 来源:黑马程序员 浏览量:
在jQuery中,触发事件有3种方式,第1种是调用事件方法,第2种是通过trigger()方法触发事件,第3种是通过triggerHandler()方法触发事件。下面我们分别进行讲解。
1.事件方法触发事件
jQuery中的事件方法在调用时如果传参数,表示绑定事件,如果不传参数,表示触发事件。以click()方法为例,示例代码如下:
//绑定事件 $("div").click(function() { alert("hello"); }); //触发事件 $("div").click();
上述代码中,第6行代码调用了click()方法,触发了单击事件。
2.trigger()方法触发事件
使用migger()方法可以触发指定事件,示例代码如下。
//绑定事件 $("div").click(function() { alert("hello"); }); //触发事件 $("div").trigger("click");
上述代码中,第6行代码调用了trigger()方法,参数click表示单击事件。
3.triggerHandler()方法触发事件
事件方法和trigger()方法在触发事件时,都会执行元素的默认行为,而triggerHandler()方法在触发事件时不会执行元素的默认行为。下面我们通过代码来演示。
<input type="text"> <script> $("input").on("focus", function() { $(this).val("你好吗"); }); $("input").triggerHandler("focus"); //触发事件 </script>
在上述代码中,第3~5行代码为页面中的input元素绑定焦点事件。第6行代码触发焦点事件。代码执行后,会发现input文本框没有光标闪烁,但第2行代码也执行了,文本框中的值变为“你好吗”。而如果将第6行的triggerHandler0方法换成focus0方法或者trigger0方法,则看到文本框中有光标闪烁。像这个文本框中有光标闪烁的现象,就是元素获得焦点时会发生的默认行为。由此可见,triggerHandler0方法不会执行元素的默认行为。
【AI设计】北京143期毕业仅36天,全员拿下高薪offer!黑马AI设计连续6期100%高薪就业
2025-09-19【跨境电商运营】深圳跨境电商运营毕业22个工作日,就业率91%+,最高薪资达13500元
2025-09-19【AI运维】郑州运维1期就业班,毕业14个工作日,班级93%同学已拿到Offer, 一线均薪资 1W+
2025-09-19【AI鸿蒙开发】上海校区AI鸿蒙开发4期5期,距离毕业21天,就业率91%,平均薪资14046元
2025-09-19【AI大模型开发-Python】毕业33个工作日,就业率已达到94.55%,班均薪资20763元
2025-09-19【AI智能应用开发-Java】毕业5个工作日就业率98.18%,最高薪资 17.5k*13薪,全班平均薪资9244元
2025-09-19