问题标签 [event-passthrough]

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 投票
2 回答
8329 浏览

anonymous-function - Firefox:从匿名 javascript 函数传递事件

在这个简短的代码中,内联事件起作用——“事件”被传递给 testKeyPress 函数

然而,在这个匿名版本中,gecko 中没有传递事件:

如何传递函数自己的事件?

0 投票
1 回答
1072 浏览

iphone - iphone界面覆盖传递事件

替代文字 http://www.davidhomes.net/question.gif

我对 iphone dev 非常陌生(我的空闲时间不到 3 个月),我正在开始开发我的第二个应用程序。

从图像中,我将一些 UIView 作为子视图添加到我的主 UIViewController.view,要添加的视图数量根据用户可选择的数据而有所不同。

每个视图包含几个控件、一个标签、一个 UITextField 和一个 Horizo​​ntal UIViewPicker。

为简单起见,我在这里放了一个(非常粗糙的)模型,只有两个按钮。

因为我想改进 GUI,所以我想覆盖一个 UIViewImage 作为添加的 UIView 的顶部子视图,就像在图像中一样。

问题在于将事件传递给它下面的对象。我在某处读过一种方法是使用剪裁,但实际形状比椭圆形框架更复杂。

在其他地方我读到可以添加四个 UIImages,每个边界一个,这将使事件通过这个洞。对我来说似乎是一个肮脏的解决方案(尽管我确信它会起作用)

关于最好的方法的任何想法?有在线教程或食谱的链接吗?

感谢您的帮助

谢谢大卫

0 投票
2 回答
1325 浏览

wpf - 使 WPF 文本框或其他可聚焦控件对某些按键透明(即传递,而不是吞下)

我有一个带有自定义数据模板的 ListBox,其中包含一个 CheckBox、一个 TextBlock 和一个 TextBox。通常,当您在 ListBox 中选择一个项目时,底层的 ListBoxItem 实际上是具有焦点的,因此它会响应向上和向下键。此外,如果 CheckBox 有焦点,因为它本身不使用 up 和 down 键做任何事情,它只是很高兴地忽略它们并且它们也由底层 ListBoxItem 处理。到目前为止一切都很好。

但是,TextBox 对向上和向下键有自己的处理规则,即在文本中将插入符号向上或向下移动一行,这在此处不适用,因为在这种情况下它是单行(实际上是一个数字)。这样,如果 TextBox 具有焦点,则向上和向下键会破坏 ListBox 选择的导航,它们也不会真正帮助编辑。

现在,虽然我可以处理 PreviewKeyDownEvent(我在下面这样做,但出于不同的原因)并根据按下的键手动处理行为,但这是一个非常具体的解决方案,并且需要控件了解其容器的行为。

在一个完美的世界(和伪代码)中,我只想说 MyTextBox.KeysToIgnore(Up, Down) 或类似的东西,让它这样做......忽略那些键,就好像它根本不存在一样。(再一次,不要吞下,而是忽略,让他们通过。)

但在那之前,这就是我想出的,这似乎有效,但对我来说看起来很“hacky”......

这也增加了不向目标发送 PreviewKeyDown 事件的负面影响。现在我可以解决这个问题并通过首先发送该事件来伪造它,然后在发送实际的 KeyDown 消息之前查看 e.Handled,这是有道理的,但是由于设置 e,我用 PreviewKeyUp 和 KeyUp 事件撞到了另一面墙.在上面处理,我从来没有得到真正的'key up'事件来知道什么时候发送假的。另外,我很确定我也会破坏 PreviewKeyxxx 消息的方向,因为它们与常规非预览版本的方向相反。(也许这是内部处理的,但我不这么认为。)

就像我说的...... hacky,hacky,hacky!

但它确实有效,所以就是这样。我可以通过附加行为来实现这一点,这就是我什至走这条路的原因。(在附加的行为实现中,它不是 case 语句,而是对我在 XAML 中指定的键集合进行检查。)我只是不喜欢丢失所有其他我想要的行为的想法。

再说一次,我只想说“嘿,TextBox……当你看到向上或向下键被按下时,STFU ya b*stard!!” 否则使其密钥透明。

有人想吗?

0 投票
6 回答
23156 浏览

javascript - 也从 iframe 接收 mousemove 事件

我有一个 javascript 应用程序,它在文档中添加了一个 mousemove 侦听器。问题:当鼠标移到 iframe 上时,不会调用该函数。

有没有办法将此类事件传递给根文档?

0 投票
6 回答
4245 浏览

actionscript-3 - 如何在 AS3 中透明地处理 mouseEvent?

我有一个 DisplayObject 停靠在我的界面顶部,它显示调试信息(每秒帧数等),并且是半透明的,alpha 为 60%。

我想与这个表面下的项目进行交互,这样当鼠标在它上面滚动时,它会变暗到 10% alpha,并且鼠标事件会通过它传递到底层对象。

通常,我将此调试信息面板的 mouseEnabled 和 mouseChildren 属性设置为 false,因此它下面的对象会接收鼠标事件。

问题是为了在鼠标滑过它时隐藏它,它需要将 mouseEnabled 设置为 true。但是,如果 mouseEnabled 为 true,则鼠标事件不会被其下方的对象拾取。

据我所知,我无法选择性地启用 mouseEvents,因此它要么全部接收,要么不接收。这意味着如果我采用这种方法,我必须处理和转发所有事件。

我真的希望 mouseEnabled 属性具有“窥视”模式或其他东西,这样它就可以接收位于顶部的事件,但也允许它们传递到下面的对象。

0 投票
1 回答
134 浏览

jquery - 点击时的 jQuery Passthrough

我想知道是否可以在第二次单击时忽略 jQuery 函数的执行,以便我可以创建传递,但只有当用户在确认单击时单击“是”时。我有显示确认框,但无法找到一种方法来做到这一点。

0 投票
3 回答
7125 浏览

javascript - 重叠的兄弟元素之间的条件鼠标事件传递

是否有标准的 Javascript 技术或库来管理不相关的重叠 HTML 元素之间的条件鼠标事件传递?

例如,我在一堆 HTML 元素(由 Thee.js CSS3 渲染器管理,但这不应该是相关的)前面有一个部分透明的 WebGL 画布(由 Three.js 管理)。这些 HTML 元素已注册 mouseover 和 mouseout 事件。我想要漂浮在这些元素前面的 3D 对象来阻止鼠标事件。

我已经知道如何使用光线投射器来确定鼠标是否在 3D 对象上。我不知道的是,当 3D 对象不在中间时,如何允许鼠标事件“通过”画布到达底层 HTML 元素。

在此处输入图像描述

我已经阅读了有关遍历 DOM 树直到找到鼠标下方的元素的解决方案。但这似乎过于复杂和缓慢。如果可能的话,我想做的是假装画布暂时不存在,以便事件可以自然地通过。

为了不重新发明轮子,如果已经有一个库,那就太好了。

0 投票
1 回答
188 浏览

android - Android:将触摸传递给浮动视图下的视图(另一个应用程序)

感谢您阅读我的问题。我做了一个浮动视图,里面有一个图像。它是半透明的。

我希望这个浮动视图只显示它的半透明图像并且根本不会打扰我。

将触摸传递给下的视图

我看过这篇文章,我已经做到了。OnTouchListener -> OnTouch -> 返回 false。可点击 = 假,可聚焦 = 假。

但是触摸事件并没有通过我的浮动视图。有可能解决我的问题吗?谢谢你。如果您能给我一个提示,我将不胜感激。

0 投票
1 回答
61 浏览

wpf - 如何处理点击事件然后传递给WPF中的底层应用程序

我有一个 WPF 窗口,其中背景是 {x:Null} 和 AllowTransparency=True

我可以点击“窗口”,点击通过窗口,底层应用程序接收它。太棒了。但是,我也希望能够处理单击事件,然后允许它传递到底层应用程序。

内部 Grid 上的事件处理程序不注册事件。

如果我将内部网格中的背景更改为一种颜色。

现在接收到事件,但是即使将handled 设置为false,点击也不会冒泡到底层应用程序。

这可能吗?