block'; var oEvent = ev || event; oEvent.cancelBubble = true; // 取消事件冒泡
什么是冒泡? DOM事件流(event flow )存在三个阶段:事件捕获阶段、处于目标阶段、事件冒泡阶段。...事件冒泡**(***dubbed bubbling***)**:与事件捕获恰恰相反,事件冒泡顺序是由内到外进行事件传播,直到根节点。...dom标准事件流的触发的先后顺序为:先捕获再冒泡,即当触发dom事件时,会先进行事件捕获,捕获到事件源之后通过事件传播进行事件冒泡。...参数 useCapture 是选填的,填true或者false,用于描述事件是冒泡还是捕获,true表示捕获,默认的false表示冒泡。...") }); div2.addEventListener('click',function(){ console.log("div2--冒泡阶段"
算法简介 冒泡排序是一种简单的排序算法。它重复地走访过要排序的数列,一次比较两个元素,如果它们的顺序不符合要求就把它们交换过来。...时间复杂度和空间复杂度 再谈谈冒泡排序的时间复杂度和空间复杂度吧!
System.out.println(); for (int num : nums) { System.out.print(num+" "); } } //冒泡排序
冒泡排序: 冒泡排序是一种简单的排序算法。 它重复地走访过要排序的数列,一次比较两个元素,如果他们的顺序错误就把他们交换过来。
引言 在“小鲤鱼历险记”中,小鲤鱼的绝活是吐泡泡,惹得好多人捧腹大笑,其实在数据算法的世界里,也有一个有趣的现象叫冒泡排序。...解决方案 冒泡排序就是交换排序的一种排序方法 百度百科上面冒泡排序的定义,是一种计算机科学领域的较简单的排序算法。...首先冒泡排序其实不是很难,相对于直接排序,冒泡排序的算法程度是比较简单的,因为直接排序一个一个比较大小,这样就会导致算法的时间复杂度就会很大。所以我推荐用冒泡排序。...,所以就进行交换,这就像水的泡泡,而小的数就像水里的泡泡一个一个浮上来,而相对大的数就慢慢沉下去了,所以冒泡排序还是比较有趣的。...结语 以上就是冒泡排序的简单介绍,可能过程不是很详细,但是应该能够初步理解,有些数组用冒泡排序还是要进行很多趟的排序才能够得到结果,但是冒泡排序是一种常用的排序方法。
停止事件传播 事件对象还提供了一个.stopPropagation()方法,该方法能够全然阻止事件冒泡。
// 冒泡排序 var arr = [2, 4, 1, 6, 7, 8, 33, 11,77,88,99,3,100]; function sort(array
实例 当点击id为i3的时,浏览器会依次弹出3 2 1,这就是事件冒泡,此正方形处于叶节点上,对其操作的事件会向上进行冒泡,直到根节点。 JS事件冒泡及阻止 div{...DOCTYPE html> JS事件冒泡及阻止 li{...有时候我们并不希望事件冒泡而去执行上级节点绑定的事件,这时候就需要阻止事件的冒泡,w3c的方法是e.stopPropagation(),IE则是使用 window.event.cancelBubble...注意 不是所有的事件都能冒泡。以下事件不冒泡:blur、focus、load、unload。 事件解决方案方式在不同浏览器,可能是有所区别的,有些不支持捕获型方案,多数浏览器默认冒泡型方案。
相反的,事件冒泡是自下而上的去触发事件。绑定事件方法的第三个参数,就是控制事件触发顺序是否为事件捕获。true,事件捕获;false,事件冒泡。默认false,即事件冒泡。...Jquery的e.stopPropagation会阻止冒泡,意思就是到我为止,我的爹和祖宗的事件就不要触发了。...事件的触发顺序自内向外,这就是事件冒泡。...方法: 阻止事件冒泡 和默认行为。 事件冒泡: ? 阻止默认行为: ?
事件机制 ---- 事件触发三个阶段: window往事件触发处传播,遇到注册的捕获事件会触发 传播到事件触发处时触发注册的事件 从事件触发处往window传播,遇到注册的冒泡事件会触发 事件触发一般会按照...|------------------------------------------- 但是有一个特例:如果给body中的子节点同时注册冒泡和捕获事件,事件触发会按照注册的顺序执行。...// 以下会先打印冒泡然后是捕获node.addEventListener( 'click', event => { console.log('冒泡') }, false)node.addEventListener...此时进入冒泡阶段,inner上的时间处理器得到执行 事件命中元素后开始向上冒泡,一路查找是否注册了冒泡阶段的祖先元素上的时间处理器。由于没有找到因此什么也没发生。...我们把时间注册在冒泡阶段(addEventListener的useCapture选项为false) var selector = document.querySelector.bind(document
事件冒泡: 事件冒泡由IE团队提出来的,即事件开始由最具体的元素(文档中嵌套层次最深的那个节点)接收,然后逐级向上传播。...IE9,chrome,Firefox,Opera,Safari都支持事件冒泡,并将事件冒泡到window对象。 如下,点击obj3,依次弹出obj3、world、hello。...addEventListener('click', function () { alert('obj3'); })//依次弹出obj3、world、hello 阻止事件冒泡的方法...: 方式一:event.stopPropagation(); 方式二:return false; return false 不仅阻止了事件往上冒泡,而且阻止了事件本身。...event.stopPropagation() 则只阻止事件往上冒泡,不阻止事件本身。
需求 编写一个简单的页面弹框的示例,功能要求如下: 一个点击按钮,点击可以弹出一个弹框 弹框固定出现在页面的中间位置 需要写一个背景mask,用于遮掩背景,设置透明度0.3 点击弹框外的位置,弹框就可以消失不见...DOCTYPE html> <script type="text/javascript" src="jquery-3.4.0.min.<em>js</em>...执行完毕了alert()的事件之后,就继续<em>冒泡</em>将click()方法至下而上得<em>冒泡</em>至$(document),导致$(document)执行fadeOut()。...写到这里基本已经演示完了关于事件<em>冒泡</em>的弹框<em>示例</em>了。 完整代码 <script type="text/javascript" src="jquery-3.4.0.min.<em>js</em>
} } } }, { name: '02', value: 20 }] }] } 水平柱图...}, } }, z: 0 }, ] }; // 谷峰图...option.xAxis.data.shift(); option.xAxis.data.push(axisData); myChart.setOption(option); }, 1000) 带宽图
说到js事件大家肯定都知道,那么今天讲一点大家不知道的(假设大家不知道?)。 所有的js事件都会分为两个阶段捕获和冒泡。...true表示监听事件的捕获阶段,false表示监听事件的冒泡阶段。 返回值 没有返回值 示例: <!...最后是outer冒泡阶段 由此我们可以看到,事件触发的时候实际上都是有捕获和冒泡阶段的,并且捕获阶段会从最外层的父级元素开始捕获,一直捕获到最后触发事件的那个元素点才会停止,那么冒泡阶段反之,会从最内层触发的那个元素开始往外层的父级元素一直冒泡...并且事件的触发是先捕获,在冒泡。 阻止事件冒泡 事件的冒泡会让我们实现某些功能的时候产生阻碍,那么我们怎么怎么阻止事件的冒泡呢,这个时候就会用到一个方法。...e.stopPropagation(); 当我们吧这个方法放到inner冒泡阶段的下面的时候,神奇的事情发生了,当代码执行到这里,默认直接把冒泡的事件给阻止了,这时候会呈现出这个样子。
// 冒泡排序 // 原理就是每一轮循环,将一个最大的值放冒泡到最后 // 1.每一趟都是比较相邻两个元素,如果后一个元素大于前一个,则交换两个元素 // 2.第一趟从第一个元素开始进行交换,最后一个元素不参与交换...if (arr.length < 2) { return arr; } // 定义 count 代表执行了趟循环 let count = 0; // 冒泡排序排的趟数...; } } } console.log(`执行了${count}趟循环`); return arr; } console.log("普通冒泡排序...if (arr.length < 2) { return arr; } // 定义 count 代表执行了趟循环 let count = 0; // 冒泡排序排的趟数...break; } } console.log(`执行了${count}趟循环`); return arr; } console.log("一重优化冒泡排序
默认情况下,事件使用冒泡事件流,不使用捕获事件流。...捕获与冒泡 事件捕获:执行顺序(document->html->body->div) 事件冒泡:执行顺序(div->body->html->document) IE < 9:只支持事件冒泡...IE 9+|chrome|firefox|safari:事件冒泡+事件捕获 阻止捕获与冒泡 event.stopPropagation() 示例代码 <!...}, true); inner.addEventListener('click', function (event) { console.log('inner-->事件冒泡...('click', function (event) { console.log('outer-->事件冒泡'); }, false) </html
一个完整的JS事件流是从window开始,最后回到window的一个过程。 事件流被分为三个阶段(1~ 5)捕获过程、(5~ 6)事件触发过程、(6~ 10)冒泡过程。...二、事件冒泡 看了上面的那张图应该对事件冒泡有了大概的了解了吧。总结来说就是: 当一个元素接收到事件的时候 会把他接收到的事件传给自己的父级,一直到window。...用代码感受下一下什么是事件冒泡: 实例图...三、阻止冒泡 1、JS阻止事件冒泡 我们用 e.stopPropagation() 这个方法添加到某事件函数里的末尾,就可以做到阻止冒泡事件。...2、JQ阻止事件冒泡 jq阻止事件冒泡就简单了,直接在事件函数里面添加 return false; 就行了。
1.冒泡排序原理 假设长度为n的数组arr,要按照从小到大排序。
{ 34, 19, 11, 109, 3, 50 }; printArray(arr); // selectSort(arr); //选择排序 // bubbleSort(arr); //冒泡排序...arr[j]) { int temp = arr[i]; arr[i] = arr[j]; arr[j] = temp; } } } } // 冒泡排序
领取专属 10元无门槛券
手把手带您无忧上云