问题标签 [stoppropagation]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
1 回答
16136 浏览

jquery - keydown 事件上的 jQuery trigger() 和 stopPropagation()

我在按键和停止传播方面遇到了困难

我不希望我的页面刷新,我已经尝试了我能想到的所有方法,我当前的代码是

关于我在这里做错了什么的任何想法?我认为该事件被正确调用,我正确链接了 jquery 和 jquery ui,并且没有收到控制台错误

更新 它工作正常,现在我得到对象函数 (a,b){return new e.fn.init(a,b,h)} 的属性“事件”不是下面代码的函数错误

更新 #2 - 已修复

我学到的东西

  1. 文档中不需要触发器()(准备好)
  2. 让 $.ui.keyCode 工作很困难(至少对我来说)
  3. 始终查看输入附加了哪些其他功能(onblur、onfocus 等)又名 doh

重写它,工作得很好

0 投票
3 回答
2283 浏览

jquery - 如果用户在文本区域中粘贴某些内容,则阻止 keyUp 事件

如果用户在 textarea#q 中键入一些内容,则调用do_domething()函数。如果用户粘贴文本而不是键入文本,则应避免使用 do_something() 函数。有任何想法吗?这是我当前的代码:

0 投票
1 回答
631 浏览

jquery - jquery父子点击事件处理

我有一个表行,其中包含我动态添加的 2 列(如下)。

我有一个用于第一列 id=... 的单击处理程序,它工作正常,我想为第二列 class="msg_head" 提供第二个单击处理程序,但是当我尝试捕获它时,它只调用父处理程序。

我尝试了一些建议,例如停止传播,但没有成功。

有什么建议么?

0 投票
1 回答
6088 浏览

javascript - 如何在没有 stopPropagation 方法的情况下停止事件冒泡

有一些像这样的html代码:

我想将点击事件绑定到每个具有树节点类的标签

并将点击事件绑定到文档

这是我的代码:

stopPropagation() 是否有任何替代方法来阻止从 node4-2 到其父级的事件冒泡?

小提琴:http: //jsfiddle.net/R6ySc/

0 投票
3 回答
130 浏览

javascript - 如果我重复输入,则停止传播

我正在为一个网站构建一个自定义搜索引擎,搜索是通过 AJAX 在 keyup 事件上完成的,所以当你开始输入时(如果你输入了两个以上的字符并且在字符串被修剪之后),对服务器的 AJAX 调用就完成了.

它工作得很好,但是我正在考虑一种情况,当您开始连续输入四个或任意数量的字符时,您输入的字符就会有多少个调用。好吧,例如,如果您键入 10 个字符,那将会发出很多请求。

在这种情况下,我在想是否有一种简单的方法可以停止发生这种行为之前开始的所有事情,并在您完成疯狂输入后继续搜索(:

0 投票
2 回答
900 浏览

jquery - 如何在 css 值更改后停止调整大小功能?

在通过 CSS 媒体查询更改 css 值后,我试图阻止 resize 函数触发。这不起作用......我希望“有一个切换”只出现一次。我该如何杀死它?

0 投票
1 回答
1702 浏览

jquery - 在手风琴头上使用 jquery 停止传播

我试图让一个复选框在相应的标题(包括点击事件)中正常工作,我在http:// jsfiddle.net/CkL2r/1/或代码如下;

​</p>

我只是无法让它与较新版本的 jquery 一起工作,我搜索了 jquery 文档,据我所知,这个函数在版本之间应该没有任何区别。

谁能指出我正确的方向?

0 投票
1 回答
296 浏览

events - stopPropagation 和 live() 方法。我错过了什么?

我已经阅读了 jQuery 文档,并且我知道如果我使用 live() 将事件绑定到元素,那么使用 stopPropagation() 是没有意义的,因为带有 live() 的事件绑定到文档节点,所以事件已经开始了。这么说,我认为 nex 代码会发出 3 次警报,因为 stopPropagation 不会停止任何事情:

当我单击链接时,我期望并警告“li”和“ul”,但是 stopPropagation 正在停止其他应该无用的事件。我错过了什么?

0 投票
3 回答
2746 浏览

flash - 仅在 Flash 中通过鼠标滚轮滚动。防止默认浏览器通过鼠标滚轮滚动

在我的 Firefox 自动更新到 FF17、MAC、OSX 10.8.2 后,我发现了这个问题。
有什么建议和技巧吗?

问题:
我使用 javascript preventDefault(); 和停止传播();通过鼠标滚轮取消默认滚动事件,它工作正常。但是当鼠标悬停在 flash 对象上并通过鼠标滚轮滚动时,这是行不通的。

事实上,我有一个可以通过鼠标滚轮控制的闪光灯面板。flash 对象嵌入在 html 文档的中间,您需要在浏览器中向下滚动才能查看 flash 内容。当我专注于 Flash 内容并通过鼠标滚轮滚动时,浏览器也在滚动并使 Flash 内容看不见。

重现问题:
1.在html的最底部放置一个简单的空白flash对象。确保您需要向下滚动才能在浏览器中查看 flash 对象。

  1. 为了便于解释,您可以使用此 javascript 来停止页面上的所有鼠标滚轮活动:(如果需要,请按“空格键”到达 html 最底部的 flash 对象)

    window.addEventListener('DOMMouseScroll', wheel, false); window.addEventListener('mousewheel', wheel, false);
    window.addEventListener('MozMousePixelScroll', wheel, false); window.addEventListener('wheel', wheel, false);
    函数取消事件(e){ e = e ?e:窗口.事件;if (e.stopPropagation)e.stopPropagation(); if (e.preventDefault)e.preventDefault(); e.cancelBubble =真;e.取消=真;e.returnValue = 假;返回假;}

  2. 将鼠标悬停在 flash 对象上并使用滚轮,您会发现浏览器也在滚动。

预期结果:
鼠标滚轮只控制 flash 对象,而不是通过上述脚本控制浏览器。

0 投票
4 回答
58393 浏览

javascript - 如何制作 AngularJS 指令来停止传播?

我正在尝试“stopPropagation”以防止在单击 li 内的元素(链接)时关闭 Twitter Bootstrap 导航栏下拉菜单。使用这种方法似乎是常见的解决方案

在 Angular 中,似乎指令是执行此操作的地方?所以我有:

...但该方法不属于元素:

我将指令与

有什么建议么?