首页 web前端 js教程 浅谈事件冒泡、事件委托、jQuery元素节点操作

浅谈事件冒泡、事件委托、jQuery元素节点操作

Dec 31, 2017 pm 04:26 PM
事件 冒泡 委托

本文主要为大家带来一篇浅谈事件冒泡、事件委托、jQuery元素节点操作、滚轮事件与函数节流。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧,希望能帮助到大家。

一、事件冒泡定义

事件冒泡是指在一个对象触发某类事件(比如单击onclick事件),如果此对象定义了此事件的处理程序,那么此事件就会调用这个处理程序,如果没有定义此事件处理程序或者事件返回true,那么这个事件会向这个对象的父级对象传播,从里到外,甚至它被处理(父级对象所有同类事件都将被激活),或者它到达了对象层级的最顶层,即document对象(有些浏览器是window).。

二、事件冒泡的作用

事件冒泡允许多个操作被集中处理(把事件处理器添加到一个父级元素上,避免把事件处理器添加到多个子级元素上),它还可以让你在对象层的不同级别捕获事件。

三、阻止事件冒泡

事件冒泡机制有时候是不需要的,需要阻止掉,通过event.stopPropagation()来阻止

四、阻止默认行为

如:阻止右键菜单

五、合并阻止操作

实际开发中,一般把阻止冒泡和阻止默认行为合并起来写,合并写法如下:

六、事件委托

事件委托就是利用冒泡的原理,把事件加到父级上,通过判断事件来源的子集,执行相应的操作,事件委托首先可以极大减少事件绑定次数,提高性能;其次可以让新加入的子元素也可以拥有相同的操作。

1、一般绑定事件的写法:

2、事件委托的写法:(实际开发中,如果是对大量子元素进行操作时,应该用事件委托的方式,提高性能)

七、取消事件委托

用法:$("委托对象").undelegate()

八、jQuery元素节点操作1、创建节点

2、插入节点

  a、append()和appendTo() 在现存元素的内部,从后面插入元素

  

  输出结果为:

  

  b、prepend()和prependTo() 在现存元素的内部,从前面插入元素

  

  输出结果:

  

  c、after()和insertAfter() 在现存元素的外部,从后面插入元素

  

  输出结果:

  

  d、before()和insertBefore() 在现存元素的外部,从前面插入元素

  

  输出结果:

  

3、删除节点

  $(selector).remove();

  

4、to do list(计划列表)实例

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

134

135

136

137

138

139

140

141

142

143

144

145

146

147

148

149

150

151

152

153

154

155

156

157

158

159

160

161

162

163

164

165

166

167

168

169

170

171

172

173

174

175

176

177

178

179

180

181

182

183

184

185

186

187

188

189

190

191

192

193

194

195

196

197

198

199

200

<!DOCTYPE html>

<html lang="en">

<head>

 <meta charset="UTF-8">

 <link rel="stylesheet" href="../css/reset.css" rel="external nofollow" rel="external nofollow" >

 <style>

  .con{

   width:360px;

   margin:30px auto;

  }

  .con > h3{

   margin-bottom:15px;

  }

  .con input{

   width:290px;

   height:30px;

  }

  .con button{

   width:60px;

   height:34px;

   border:0;

  }

  .con ul li{

   display: flex;

   margin-top:15px;

   border-bottom:1px solid #ccc;

   justify-content: space-between;

  }

  .con li p{

   /*清除a元素之间的间隙*/

   font-size:0;

  }

  .con li p a{

   color:#1b5fdd;

   font-size:16px;

   margin-left:10px;

  }

  /*弹框样式*/

  .pop_con{

   position:fixed;

   top:0;

   right:0;

   bottom:0;

   left:0;

   background:#000;

   display: none;

  }

  .pop{

   width:400px;

   height:220px;

   position:absolute;

   left:50%;

   margin-left:-200px;

   top:50%;

   margin-top:-150px;

   background:#fff;

  }

  .pop .pop_title{

   padding:15px;

   display: flex;

   justify-content: space-between;

  }

  .pop .pop_title a{

   width:36px;

   height:36px;

   line-height:36px;

   border-radius:50%;

   background:#c7254e;

   color:#fff;

   text-align: center;

   position:absolute;

   top:-18px;

   right:-18px;

   transition: all 1s ease;

  }

  .pop_title h3{

   letter-spacing: 2px;

   font-weight: normal;

  }

  .pop_title a:hover{

   transform: rotate(360deg);

  }

  .pop_message{

   height:110px;

   line-height:110px;

   text-align: center;

  }

  .pop_confirm{

   height:36px;

   text-align: center;

  }

  .pop_confirm button{

   height:36px;

   line-height: 36px;

   padding:0 15px;

   background: #c7254e;

   border:none;

   color:#fff;

   outline: none;

  }

 </style>

 <script src="../js/jquery-1.12.4.min.js"></script>

 <script>

  $(function(){

   //声明变量

   var $input = $("#input");

   $(".pop").click(function(){

    return false;

   });

   $(".pop_confirm").click(function(){

    $(".pop_con").fadeOut();

   });

   $(".close").click(function(){

    $(".pop_con").fadeOut();

   });

   $(".pop_con").click(function(){

    $(this).fadeOut();

   });

   //点击增加按钮,新增元素

   $("#add").click(function(){

    var $inputVal $input.val();

    //如果输入值为空,出现弹框提示

    if($inputVal == ""){

     $(".pop_con").fadeIn();

     return false

    }

    $input.val("");

    var $li = $("<li><h3>"+$inputVal+"</h3><p><a class=&#39;delete&#39; href=&#39;javascript:void(0);&#39;>删除</a><a class=&#39;prev&#39; href=&#39;javascript:void(0);&#39;>上移</a><a class=&#39;next&#39; href=&#39;javascript:void(0);&#39;>下移</a></p></li>");

    $("ul").append($li);

   });

   //使用事件委托写在一起,提高性能

   $("ul").delegate("li a","click",function(){

    //首先判断点击的是哪个a

    if($(this).attr("class") == "prev"){

     //判断是否存在该元素

     if($(this).closest("li").prev().length ==0){

      $(".pop_message").html("已到顶部!");

      $(".pop_con").fadeIn();

      return false

     }

     $(this).closest("li").prev().before($(this).closest("li"));

    }else if($(this).attr("class") == "next"){

     if($(this).closest("li").next().length ==0){

      $(".pop_message").html("已到底部!");

      $(".pop_con").fadeIn();

     }

     $(this).closest("li").next().after($(this).closest("li"));

    }else{

     $(this).closest("li").remove();

    }

   })

  })

 </script>

</head>

<body>

 <p class="con">

  <h3>To do list</h3>

  <input type="text" id="input">

  <button id="add">增加</button>

  <ul class="ul">

   <li>

    <h3>学习html</h3>

    <p>

     <a href="javascript:void(0);" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" class="delete">删除</a>

     <a href="javascript:void(0);" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" class="prev">上移</a>

     <a href="javascript:void(0);" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" class="next">下移</a>

    </p>

   </li>

   <li>

    <h3>学习css</h3>

    <p>

     <a href="javascript:void(0);" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" class="delete">删除</a>

     <a href="javascript:void(0);" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" class="prev">上移</a>

     <a href="javascript:void(0);" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" class="next">下移</a>

    </p>

   </li>

   <li>

    <h3>学习ps</h3>

    <p>

     <a href="javascript:void(0);" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" class="delete">删除</a>

     <a href="javascript:void(0);" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" class="prev">上移</a>

     <a href="javascript:void(0);" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" class="next">下移</a>

    </p>

   </li>

  </ul>

 </p>

 <p class="pop_con">

  <p class="pop">

   <p class="pop_title">

    <h3>提示信息</h3>

    <a href="javascript:void(0);" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" rel="external nofollow" class="close">X</a>

   </p>

   <p class="pop_message">输入框不能为空</p>

   <p class="pop_confirm">

    <button>朕知道了</button>

   </p>

  </p>

 </p>

</body>

</html>

登录后复制

九、滚轮事件与函数节流1、jquery.mousewheel插件使用

jquery中没有滚轮事件,原生js中的鼠标滚轮事件不兼容,可以使用jquery的滚轮事件插件jquery.nousewheel.js。

2、函数节流

javascript中有些事件的触发频率非常高,比如onresize事件(jq中是resize),onmousemove事件(jq中是mousemove)以及上面说的鼠标滚轮事件,在短时间内多次触发执行绑定的函数可以巧妙的使用定时器来减少触发的次数,实现函数节流。

3、整屏滚动实例

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

17

18

19

20

21

22

23

24

25

26

27

28

29

30

31

32

33

34

35

36

37

38

39

40

41

42

43

44

45

46

47

48

49

50

51

52

53

54

55

56

57

58

59

60

61

62

63

64

65

66

67

68

69

70

71

72

73

74

75

76

77

78

79

80

81

82

83

84

85

86

87

88

89

90

91

92

93

94

95

96

97

98

99

100

101

102

103

104

105

106

107

108

109

110

111

112

113

114

115

116

117

118

119

120

121

122

123

124

125

126

127

128

129

130

131

132

133

134

135

136

137

138

139

140

141

142

143

144

145

146

147

148

149

150

151

152

153

154

155

156

157

158

159

160

161

162

163

164

165

166

167

168

169

170

171

172

173

174

175

176

177

178

179

180

181

182

183

184

185

186

187

188

189

190

191

192

193

194

195

196

197

198

199

200

201

202

203

204

205

206

207

208

209

210

211

212

213

214

215

216

217

218

219

220

221

222

223

224

225

226

227

228

229

230

231

232

233

234

235

236

237

238

239

240

<!DOCTYPE html>

<html lang="en">

<head>

 <meta charset="UTF-8">

 <title>整屏滚动</title>

 <link rel="stylesheet" href="../css/reset.css" rel="external nofollow" rel="external nofollow" >

 <style>

  .page_con{

   width:100%;

   /*必须是固定定位,否则会有问题*/

   position:fixed;

   top:0;

   left:0;

   overflow: hidden;

  }

  .page{

   position:relative;

  }

  .page .main_con{

   width:900px;

   height:400px;

   position:absolute;

   left:50%;

   top:50%;

   margin-top:-200px;

   margin-left:-450px;

  }

  .page .main_con .left_img{

   width:363px;

   height:400px;

  }

  .page .main_con .left_img,.page .main_con .right_img{

   opacity: 0;

   position: relative;

   filter:alpha(opacity = 0);

   transition:all 1s ease 300ms;

  }

  .page .main_con .right_info{

   width:500px;

   height:300px;

  }

  .page .main_con .right_info,.page .main_con .left_info{

   font-size:20px;

   line-height:50px;

   color:#666;

   text-indent:2em;

   text-align:justify;

   position:relative;

   opacity:0;

   filter:alpha(opacity=0);

   transition:all 1000ms ease 300ms;

  }

  .main_con .right_img{

   width:522px;

   height:400px;

   top:-50px;

  }

 

  .main_con .left_info{

   width:350px;

   height:300px;

   bottom:-50px;

  }

  .main_con .left_img,.main_con .left_info{

   left:-50px;

  }

  .main_con .right_img,.main_con .right_info{

   right:-50px;

  }

  .main_con .center_img{

   opacity: 0;

   filter:alpha(opacity = 0);

   text-align: center;

   transition: all 1s ease 300ms;

  }

  .moving .main_con .left_img,.moving .main_con .left_info,.moving .main_con .center_img{

   left:0;

   opacity: 1;

   filter:alpha(opacity = 100);

  }

  .moving .main_con .center_img{

   transform: scale(0.8);

  }

  .moving .main_con .right_info,.moving .main_con .right_img{

   margin-top:50px;

   right:0;

   opacity: 1;

   filter:alpha(opacity = 100);

  }

  .moving .main_con .right_img{

   /*top:25px;*/

  }

  .page1{

   background:orange;

  }

 

  .page2{

   background:lightgreen;

  }

  .page3{

   background:cyan;

  }

  .page4{

   background:pink;

  }

  .page5{

   background:lightblue;

  }

  .points{

   width:16px;

   height:176px;

   position:fixed;

   top:50%;

   right:20px;

   margin-top:-88px;

  }

  .points li{

   width:16px;

   height:16px;

   line-height:16px;

   margin-top:15px;

   border:1px solid #666;

   border-radius:50%;

  }

  .points li:hover,.points li.active{

   width:6px;

   height:6px;

   cursor: pointer;

   border:6px solid #fff70c;

  }

 </style>

 <script src="../js/jquery-1.12.4.min.js"></script>

 <script src="../js/jquery.mousewheel.min.js"></script>

 <script>

  $(function(){

   $(".page1").addClass("moving");

   var page = $(".page");

   var len = page.length;

   var currentPage = 0;

   var timer = null;

   //获取显示区域的高度

   var $h = $(window).height();

   page.css({height:$h});

   $(window).mousewheel(function(event,dat){

    //向下滑dat为-1,向上滑dat为1

    //清除前面开的定时器,实现函数节流

    clearTimeout(timer);

    timer = setTimeout(function(){

     if(dat == -1){

      currentPage++;

      if(currentPage>len-1){

       //如果大于4的话,就不往下滑

       currentPage=len-1;

      }

     }else{

      currentPage--;

      //判断当前所在页是否小于0,如果小于就不往上滑。

      if(currentPage<0){

       currentPage=0;

      }

     }

     $(".page").eq(currentPage).addClass("moving").siblings().removeClass("moving");

     $("ul li").eq(currentPage).addClass("active").siblings().removeClass("active");

     $(".page_con").animate({top:-$h*currentPage},300);

    },200);

 

   });

   $(".points").delegate("li","click",function (){

    $(".page").eq($(this).index()).addClass("moving").siblings().removeClass("moving");

    $(this).addClass("active").siblings().removeClass("active");

    currentPage = $(this).index()+1;

    //首先判断下点击的元素在当前选中的元素的上面还是下面,如果是在上面的话,top值为正值,否则为负值。

    if($(this).index()<$(".active").index()){

     $(".page_con").animate({top:$h*$(this).index()});

    }else{

     $(".page_con").animate({top:-$h*$(this).index()});

    }

   })

  })

 </script>

</head>

<body>

<p class="page_con">

 <p class="page page1">

  <p class="main_con clearfix">

   <p class="page_img float_left left_img">

    <img src="../images/001.png" alt="">

   </p>

   <p class="page_content float_right right_info">

    Web前端开发是从网页制作演变而来的,名称上有很明显的时代特征。在互联网的演化进程中,网页制作是Web1.0时代的产物,那是网站的主要内容都是静态的,用户使用网站的行为也以浏览为主。

   </p>

  </p>

 </p>

 <p class="page page2">

  <p class="main_con clearfix">

   <p class="page_content float_left left_info">

    2005年以后,互联网进入web2.0时代,各种类似桌面软件的Web应用大量涌现,网站的前端有此发生了翻天覆地的变化。网页不再只是承载单一的文字和图片,各种富媒体让网页的内容更加生动,网页上的软件化的交互形式为用户提供了更好的使用体验,这些都是基于前端技术实现的。

   </p>

   <p class="page_img float_right right_img">

    <img src="../images/002.png" alt="">

   </p>

  </p>

 </p>

 <p class="page page3">

  <p class="main_con clearfix">

   <p class="page_img float_left left_img">

    <img src="../images/004.png" alt="">

   </p>

   <p class="page_content float_right right_info">

    Web前端开发是从网页制作演变而来的,名称上有很明显的时代特征。在互联网的演化进程中,网页制作是Web1.0时代的产物,那是网站的主要内容都是静态的,用户使用网站的行为也以浏览为主。

   </p>

  </p>

 </p>

 <p class="page page4">

  <p class="main_con clearfix">

   <p class="page_content float_left left_info">

    2005年以后,互联网进入web2.0时代,各种类似桌面软件的Web应用大量涌现,网站的前端有此发生了翻天覆地的变化。网页不再只是承载单一的文字和图片,各种富媒体让网页的内容更加生动,网页上的软件化的交互形式为用户提供了更好的使用体验,这些都是基于前端技术实现的。

   </p>

   <p class="page_img float_right right_img">

    <img src="../images/003.png" alt="">

   </p>

  </p>

 </p>

 <p class="page page5">

  <p class="main_con">

   <p class="page_img center_img">

    <img src="../images/005.png" alt="">

   </p>

  </p>

 </p>

</p>

<ul class="points">

 <li class="active"></li>

 <li></li>

 <li></li>

 <li></li>

 <li></li>

</ul>

</body>

</html>

登录后复制

相关推荐:

如何实现Html事件冒泡

jquery阻止事件冒泡及其解决方法

有关javascript中事件冒泡和事件捕获机制

以上是浅谈事件冒泡、事件委托、jQuery元素节点操作的详细内容。更多信息请关注PHP中文网其他相关文章!

本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

Undresser.AI Undress

Undresser.AI Undress

人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover

AI Clothes Remover

用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool

Undress AI Tool

免费脱衣服图片

Clothoff.io

Clothoff.io

AI脱衣机

Video Face Swap

Video Face Swap

使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章

<🎜>:泡泡胶模拟器无穷大 - 如何获取和使用皇家钥匙
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
北端:融合系统,解释
3 周前 By 尊渡假赌尊渡假赌尊渡假赌
Mandragora:巫婆树的耳语 - 如何解锁抓钩
3 周前 By 尊渡假赌尊渡假赌尊渡假赌

热工具

记事本++7.3.1

记事本++7.3.1

好用且免费的代码编辑器

SublimeText3汉化版

SublimeText3汉化版

中文版,非常好用

禅工作室 13.0.1

禅工作室 13.0.1

功能强大的PHP集成开发环境

Dreamweaver CS6

Dreamweaver CS6

视觉化网页开发工具

SublimeText3 Mac版

SublimeText3 Mac版

神级代码编辑软件(SublimeText3)

热门话题

Java教程
1664
14
CakePHP 教程
1423
52
Laravel 教程
1321
25
PHP教程
1269
29
C# 教程
1249
24
事件 ID 4660:已删除对象 [修复] 事件 ID 4660:已删除对象 [修复] Jul 03, 2023 am 08:13 AM

我们的一些读者遇到了事件ID4660。他们通常不确定该怎么做,所以我们在本指南中解释。删除对象时通常会记录事件ID4660,因此我们还将探索一些实用的方法在您的计算机上修复它。什么是事件ID4660?事件ID4660与活动目录中的对象相关,将由以下任一因素触发:对象删除–每当从ActiveDirectory中删除对象时,都会记录事件ID为4660的安全事件。手动更改–当用户或管理员手动更改对象的权限时,可能会生成事件ID4660。更改权限设置、修改访问级别或添加或删除人员或组时,可能会发生这种情

在iPhone锁屏上获取即将到来的日历事件 在iPhone锁屏上获取即将到来的日历事件 Dec 01, 2023 pm 02:21 PM

在运行iOS16或更高版本的iPhone上,您可以直接在锁定屏幕上显示即将到来的日历事件。继续阅读以了解它是如何完成的。由于表盘复杂功能,许多AppleWatch用户习惯于能够看一眼手腕来查看下一个即将到来的日历事件。随着iOS16和锁定屏幕小部件的出现,您可以直接在iPhone上查看相同的日历事件信息,甚至无需解锁设备。日历锁定屏幕小组件有两种风格,允许您跟踪下一个即将发生的事件的时间,或使用更大的小组件来显示事件名称及其时间。若要开始添加小组件,请使用面容ID或触控ID解锁iPhone,长按

在JavaScript中,'oninput'事件的用途是什么? 在JavaScript中,'oninput'事件的用途是什么? Aug 26, 2023 pm 03:17 PM

当在输入框中添加值时,就会发生oninput事件。您可以尝试运行以下代码来了解如何在JavaScript中实现oninput事件-示例<!DOCTYPEhtml><html>  <body>   <p>Writebelow:</p>   <inputtype="text&quot

jquery中常用的事件有哪些 jquery中常用的事件有哪些 Jan 03, 2023 pm 06:13 PM

jquery中常用的事件有:1、window事件;2、鼠标事件,是当用户在文档上面移动或单击鼠标时而产生的事件,包括鼠标单击、移入事件、移出事件等;3、键盘事件,是用户每次按下或者释放键盘上的按键时都会产生事件,包括按下按键事件、释放按键按键等;4、表单事件,例如当元素获得焦点时会触发focus()事件,失去焦点时会触发blur()事件,表单提交时会触发submit()事件。

jQuery中如何实现select元素的改变事件绑定 jQuery中如何实现select元素的改变事件绑定 Feb 23, 2024 pm 01:12 PM

jQuery是一个流行的JavaScript库,可以用来简化DOM操作、事件处理、动画效果等。在web开发中,经常会遇到需要对select元素进行改变事件绑定的情况。本文将介绍如何使用jQuery实现对select元素改变事件的绑定,并提供具体的代码示例。首先,我们需要使用标签来创建一个包含选项的下拉菜单:

如何在PHP项目中实现日历功能和事件提醒? 如何在PHP项目中实现日历功能和事件提醒? Nov 02, 2023 pm 12:48 PM

如何在PHP项目中实现日历功能和事件提醒?在开发Web应用程序时,日历功能和事件提醒是常见的需求之一。无论是个人日程管理、团队协作,还是在线活动安排,日历功能都可以提供便捷的时间管理和事务安排。在PHP项目中实现日历功能和事件提醒可以通过以下步骤来完成。数据库设计首先,需要设计数据库表来存储日历事件的相关信息。一个简单的设计可以包含以下字段:id:事件的唯一

如何使用 PHP 构建基于事件的应用程序 如何使用 PHP 构建基于事件的应用程序 May 04, 2024 pm 02:24 PM

在PHP中构建基于事件的应用程序的方法包括:使用EventSourceAPI创建事件源,并在客户端使用EventSource对象监听事件。使用服务器发送的事件(SSE)发送事件,并在客户端使用XMLHttpRequest对象监听事件。一个实用的例子是在电子商务网站中使用EventSource实时更新库存计数,在服务器端通过随机更改库存并发送更新来实现,客户端则通过EventSource监听库存更新并实时显示。

深入研究jQuery中的关闭按钮事件 深入研究jQuery中的关闭按钮事件 Feb 24, 2024 pm 05:09 PM

深入理解jQuery中的关闭按钮事件在前端开发过程中,经常会遇到需要实现关闭按钮功能的情况,比如关闭弹窗、关闭提示框等。而在使用jQuery这个流行的JavaScript库时,实现关闭按钮事件也变得异常简单和方便。本文将深入探讨如何利用jQuery来实现关闭按钮事件,并提供具体的代码示例,帮助读者更好地理解和掌握这个技术。首先,我们需要了解在HTML中如何定

See all articles