私は、CreateJSを使用してキャンバスに2つの図形を持っています。それぞれの形には、マウスオーバーリスナーを使って独自の形のヒット領域が含まれていました。 2つの形が上下に並んでいます。シェイプをクリックすると、2つのコールバックを受け取りました。表示される図形にのみコールバックを取得することは可能ですか? DOMと同様にCreateJSは可視要素のみをヒット
0
A
答えて
0
、マウス操作が動作する方法は、イベント対象の階層チェーンの一部ではない要素を除外し、表示リスト、アップバブルにあります。
これは、兄弟、または下にある他の表示リストの要素がイベントハンドラ(説明したとおり)を受け取らず、マウスイベントのターゲットではない要素に対してマウスイベントを受け取らないことを意味します。
しかし、getObjectsUnderPoint
を使用すると、マウスの下にあるものがわかります。ここで
stage.on("click", handleClick);
function handleClick(event) {
var list = stage.getObjectsUnderPoint(event.localX, event.localY);
for (var i=0, l=list.length; i<l; i++) {
console.log(list[i]);
}
}
は、迅速なサンプルです:
http://jsfiddle.net/y8jhb26x/
注あなたは(私は、ステージを使用)は、このチェックをトリガするオブジェクトをどのように制約したい任意のコンテナにマウスイベントを追加することができますが、呼び出すときgetObjectsUnderPoint
の場合は、をマウスの下に返します。あなただけの、そのコンテナ内の項目をチェックしたい場合は、不要な子供をフィルタリングするcontains
メソッドを使用することができます。
getObjectsUnderPoint
に引数を使用するか、または
mouseChildren/mouseEnabled
財産を尊重することができます
for (var i=0, l=list.length; i<l; i++) {
if (someContainer.contains(list[i])) {
console.log(list[i]);
}
}
これは実際のマウスのやり取りがどのように機能するかです。
役に立てば幸い!
関連する問題
- 1. TabItem ControlTemplate要素可視性
- 2. 要素の可視性の確認
- 3. 可視要素にクラスを追加
- 4. 角2チェック要素の可視性
- 5. JavaScriptを使用して可視要素のみを検索する
- 6. 可視要素のxpathロケータが必要です
- 7. 可視要素だけをグラフ化する方法は?
- 8. 要素を無視することは可能ですか?relative?
- 9. CSS - 可視性を持つ要素:hiddenはスクロールしません。
- 10. flash cc createjsの中にhtmlを組み込む:createjsテキストを作成しない。統合が可能ですか?
- 11. CapybaraとSiteprism:読み込みを無視する要素
- 12. phantomjsの要素の可視性を待つ
- 13. 複数のポリマー鉄スクロールスレッショルドでより多くのデータを読み込み、要素の可視性を検出
- 14. gridview要素の可視性を設定する
- 15. グループ要素のExpandableListViewに可視性を設定したい
- 16. jQueryで要素の可視性を設定する
- 17. jQuery - >要素の可視性を確認する
- 18. strsplitが不可視の要素を返します
- 19. Spock:if-else check in spock - 要素の可視性をチェック
- 20. 要素の可視性状態を検出する
- 21. HTML要素の可視性を変更できません
- 22. フォーム要素の可視性を切り替える
- 23. recyclerviewで完全に可視の要素を見つけよう
- 24. 要素はセレンのinspect要素の後にのみ使用可能
- 25. バインディングによる要素の可視性の設定
- 26. WPFの設定DataGridTextColumn別の要素に基づく可視性
- 27. HTML要素の可視性サーバ側の決定
- 28. 可視要素にのみJquery hide()を適用する必要があります
- 29. ExecuteScriptは自分の要素の可視性を変更しません - 要素が表示されません
- 30. オーバーフローをクリアする方法:可視要素?
私にとってはうまくいきます!ありがとう – RafelSanso