js进阶 12-13 jquery中one方法和trigger方法如何使用

js进阶 12-13 jquery中one方法和trigger方法如何使用

一、总结

一句话总结:

1、one()方法和on()方法的区别是什么?

除了one()只执行一次,其它和on()一模一样,包括事件委托了额外参数等

22       //one()函数绑定的事件处理函数都是一次性的
23 $('#btn1').one('click',function(){
24 //alert('one')
25 $('<div></div>').appendTo($('body'))
26 })
27
28 $('#btn1').one('click',100,function(e){
29 alert(e.data)
30 })
31
32 $(document).one('click','#btn1',100,function(e){
33 alert(e.data)
34 })

2、触发事件是什么意思?

比如你给btn添加一个click事件,你点击的话这个click就执行
如果用trigger的话,你不点击这个事件也执行,相当于trigger给你点击了

并且如果你绑定的是一个自定义事件,除了trigger,你没有办法触发

36       $('#btn1').click(function(){
37 alert('trigger')
38 })
39 //使用trigger触发
40 $('#btn1').trigger('click')

3、trigger触发事件如何使用(监听对象和参数是谁)?

监听对象是要触发事件的对象,参数是事件的类型,用脚指头想就知道应该是这样,因为触发事件就是需要这两个参数,而选择器一般选择的就是监听对象

39       //使用trigger触发
40 $('#btn1').trigger('click')

4、trigger的两种简写方式什么?

链式操作和直接事件名

42        //简写方法1
43 $('#btn1').on('click',function(){
44 alert('trigger')
45 }).trigger('click')
46
47 //简写方法2
48 $('#btn1').on('click',function(){
49 alert('trigger')
50 }).click()

5、trigger的必须使用场景是什么?

绑定自定义事件要触发必须用trigger


52        //自定义事件
53 $(document).on('myEvent',function(){
54 alert('Game Over!')
55 }).trigger('myEvent')
 

二、jquery中one方法和trigger方法如何使用

1、相关知识

  1. one()为每一个匹配元素的特定事件绑定一个一次性的事件处理函数。

    通过one()函数绑定的事件处理函数都是一次性的,只有首次触发事件时会执行该事件处理函数。触发之后,jQuery就会移除当前事件绑定。

  2. trigger() 在每一个匹配的元素上触发某类事件。
 

2、代码

 <!DOCTYPE html>
<html lang="en">
<style>
</style>
<head>
<meta charset="UTF-8">
<title>演示文档</title>
<script type="text/javascript" src="jquery-3.1.1.min.js"></script>
<style type="text/css">
input{width: 100px;height: 30px;}
div{width: 50px;height: 50px;border:1px solid green;display: inline-block;margin-left: 15px}
</style>
</style>
</head>
<body>
<h3>jQuery事件对象</h3>
<input id="btn1" type="button" value="事件绑定"><br>
<div id="div1"></div>
<script type="text/javascript">
$(function(){
/*
//one()函数绑定的事件处理函数都是一次性的
$('#btn1').one('click',function(){
//alert('one')
$('<div></div>').appendTo($('body'))
}) $('#btn1').one('click',100,function(e){
alert(e.data)
}) $(document).one('click','#btn1',100,function(e){
alert(e.data)
}) $('#btn1').click(function(){
alert('trigger')
})
//使用trigger触发
$('#btn1').trigger('click') //简写方法1
$('#btn1').on('click',function(){
alert('trigger')
}).trigger('click') //简写方法2
$('#btn1').on('click',function(){
alert('trigger')
}).click()
*/
//自定义事件
$(document).on('myEvent',function(){
alert('Game Over!')
}).trigger('myEvent')
})
</script>
</body>
</html>
 
上一篇:linux下JDK,tomcat的安装与环境变量配置


下一篇:NLP系列-中文分词(基于统计)