問題タブ [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開発にまったく慣れていません(自由時間で3か月未満)、2番目のアプリの開発を開始しています。

画像から、いくつかの UIView をサブビューとしてメインの UIViewController.view に追加しています。追加するビューの数は、ユーザーが選択できるデータによって異なります。

各ビューには、いくつかのコントロール、ラベル、UITextField、および Horizo​​ntal UIViewPicker が含まれています。

簡単にするために、ボタンが 2 つしかない (とてもラフな) モックアップをここに置きます。

GUIを改善したいので、画像のように、追加されたUIViewのトップサブビューとしてUIViewImageをオーバーレイしたいと思います。

問題は、イベントを通過してその下のオブジェクトに渡すことです。クリッピングを使用する方法があるとどこかで読んだことがありますが、実際の形状は楕円形のフレームよりも複雑です。

別の場所で、各境界線に 1 つずつ、4 つの UIImage を追加して、イベントがこの穴を通過できるようにすることを読んだことがあります。私には汚い解決策のように思えます(うまくいくと確信していますが)

これを行うための最良の方法についてのアイデアはありますか? オンラインのチュートリアルやレシピへのリンクはありますか?

あなたの助けに感謝します

ありがとうデビッド

0 投票する
2 に答える
1325 参照

wpf - WPF TextBox またはその他のフォーカス可能なコントロールを特定のキーの押下に対して透過的にします (つまり、パススルー、飲み込みではありません)。

CheckBox、TextBlock、および TextBox を含むカスタム データ テンプレートを含む ListBox があります。通常、ListBox 内の項目を選択すると、実際には基になる ListBoxItem にフォーカスがあるため、上下のキーに反応します。さらに、CheckBox にフォーカスがある場合、上下のキー自体には何もしないため、喜んでそれらを無視し、基礎となる ListBoxItem によっても処理されます。ここまでは順調です。

ただし、TextBox には上下のキーに対する独自の処理規則があり、キャレットをテキスト内の 1 行上または下に名前を付けて移動します。そのため、TextBox にフォーカスがある場合、上下のキーは ListBox の選択のナビゲーションを壊し、編集にも役立ちません。

ここで、PreviewKeyDownEvent を処理し (以下で行いますが、理由は異なります)、押されたキーに応じて動作を手動で処理できますが、これは非常に具体的な解決策であり、コントロールがコンテナーの動作を認識している必要があります。

完璧な世界 (および疑似コード) では、 MyTextBox.KeysToIgnore(Up, Down) または同様のことを言って、それを実行させたいと思います...それらのキーは、存在しないかのように無視します。(繰り返しますが、飲み込むのではなく、無視して通過させます。)

しかし、それまでは、これが私が思いついたものです。これは機能しているように見えますが、私にはとても「ハック」に見えます...

これには、PreviewKeyDown イベントをターゲットに送信しないという欠点もあります。これを回避して、最初にそのイベントを送信し、実際の KeyDown メッセージを送信する前に e.Handled を確認することで偽装することができます。 .上記で処理したように、偽のイベントをいつ送信するかを知るために、本当の「キーアップ」イベントを取得することはありません。さらに、通常の非プレビュー バージョンとは逆方向にバブルするため、PreviewKeyxxx メッセージの方向性も破ることになると確信しています。(たぶん内部で処理されていると思いますが、そうではないと思います。)

私が言ったように...ハッキー、ハッキー、ハッキー!

しかし、それは機能するので、それがあります。そして、これを Attached Behaviors を介して実装できるため、このルートに行きました。(添付されたビヘイビアーの実装では、これは case ステートメントではなく、XAML で指定したキーのコレクションに対するチェックです。) 必要な他のすべてのビヘイビアーを失うという考えは好きではありません。

繰り返しますが、「Hey TextBox... 上または下のキーが押されているのを見たら、STFU ya b*stard!!」と言いたいだけです。それ以外の場合は、キーを透過的にします。

誰か考えますか?

0 投票する
6 に答える
4245 参照

actionscript-3 - AS3でmouseEventを透過的に処理するには?

インターフェイスの上部にドッキングされた DisplayObject があり、デバッグ情報 (フレーム/秒など) を表示し、60% のアルファで半透明です。

このサーフェスの下にあるアイテムを操作して、マウスがその上を移動すると、10% のアルファに暗くなり、マウス イベントが下にあるオブジェクトに渡されるようにしたいと考えています。

通常、このデバッグ情報パネルの mouseEnabled および mouseChildren プロパティを false に設定しているので、その下のオブジェクトはマウス イベントを受け取ります。

問題は、マウスがロールオーバーしたときに非表示にするために、mouseEnabled を true に設定する必要があることです。ただし、mouseEnabled が true の場合、マウス イベントはその下にあるオブジェクトによって取得されません。

私が知る限り、mouseEvents を選択的に有効にすることはできないため、すべてを受け取るか、まったく受け取らないかのどちらかです。つまり、そのアプローチを採用した場合、すべてのイベントを処理して転送する必要があります。

mouseEnabled プロパティに「ピーク」モードか何かがあれば、それが上にある場合にイベントを受け取るだけでなく、下のオブジェクトに渡すこともできます。

0 投票する
1 に答える
134 参照

jquery - クリック時の jQuery パススルー

2回目のクリックでjQuery関数の実行を無視してパススルーを作成できるかどうか疑問に思っていましたが、ユーザーが確認クリックで「はい」をクリックした場合のみです。確認ボックスが表示されていますが、これを行う方法がわかりません。

0 投票する
3 に答える
7125 参照

javascript - 重なり合う兄弟要素間の条件付きマウス イベント パススルー

関係のない重なり合う HTML 要素間の条件付きマウス イベント パススルーを管理するための標準的な Javascript 手法またはライブラリはありますか?

たとえば、一連の HTML 要素 (Thee.js CSS3 レンダラーによって管理されますが、それは関係ありません) の前に部分的に透明な WebGL キャンバス (Three.js によって管理される) があります。これらの HTML 要素には、mouseover および mouseout イベントが登録されています。これらの要素の前に 3D オブジェクトを浮かせて、マウス イベントをブロックしたいと考えています。

レイキャスターを使用して、マウスが 3D オブジェクト上にあるかどうかを判断する方法は既に知っています。私が知らないのは、3D オブジェクトが間にない場合に、マウス イベントがキャンバスを基になる HTML 要素に「通過」できるようにする方法です。

ここに画像の説明を入力

マウスの下にある要素が見つかるまでDOMツリーをトラバースするソリューションについて読んだことがあります。しかし、それは非常に複雑で遅いようです。できれば、キャンバスが一瞬存在しないふりをして、イベントが自然に通過できるようにしたいです。

車輪の再発明を避けるために、このためのライブラリがすでにあれば素晴らしいでしょう。