Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/447.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/jquery/71.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用文档级事件监听器而不是单独的事件监听器_Javascript_Jquery - Fatal编程技术网

Javascript 使用文档级事件监听器而不是单独的事件监听器

Javascript 使用文档级事件监听器而不是单独的事件监听器,javascript,jquery,Javascript,Jquery,设想以下用例: 一个页面包含许多按钮,每个按钮触发不同的功能。我看到的示例为每个按钮添加了事件侦听器 然而,如果我在整个文档中添加一个事件监听器,然后从该点提取给定的元素,这样我就知道单击了什么,并相应地调用一个函数,那么会发生什么呢 在这种情况下,只有一个事件侦听器,而并没有按钮的数量多 这个方法能提高性能吗?您所描述的是JavaScript事件与DOM交互方式的一个特性,称为 基本上,通过向父元素添加侦听器,它可以捕获和处理子元素中的事件,这些事件在被激活时会“冒泡” 与将事件监听器添加到每

设想以下用例:

一个页面包含许多按钮,每个按钮触发不同的功能。我看到的示例为每个按钮添加了事件侦听器

然而,如果我在整个文档中添加一个事件监听器,然后从该点提取给定的元素,这样我就知道单击了什么,并相应地调用一个函数,那么会发生什么呢

在这种情况下,只有一个事件侦听器,而并没有按钮的数量多


这个方法能提高性能吗?

您所描述的是JavaScript事件与DOM交互方式的一个特性,称为

基本上,通过向父元素添加侦听器,它可以捕获和处理子元素中的事件,这些事件在被激活时会“冒泡”


与将事件监听器添加到每个子元素相比,此方法的资源密集度较低。

除了浏览器提供原始元素外,jQuery live events基本上就是这样工作的。它不是由jQuery从某个点确定的,而是由浏览器确定的。。是的,一个事件监听器比100个性能监听器更好。@Andy因为这是谷歌查询的最高结果,也许你应该把你的评论作为一个官方答案?哦,这是一个很好的办法,在事先不知道的情况下解决了这个问题。Polyducks是对的@Andy或Dark Falcon请回答,只有经验丰富的JavaScript程序员才会在web上搜索事件授权。另一个像我这样的新手可能会问同样的问题。与@Polyducks的观点一致:在不知道技术术语的情况下发现了这一点,这真是太好了。描述得很好。