私は、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. Selenium、Safari:可視要素のスクリーンショットのみを取得
- 3. 要素の可視性の確認
- 4. 可視要素にクラスを追加
- 5. 角2チェック要素の可視性
- 6. :: before擬似要素の要素埋め込みを無視する方法は?
- 7. JavaScriptを使用して可視要素のみを検索する
- 8. Selenium Webdriveは可視の要素を見つけます
- 9. 可視要素のxpathロケータが必要です
- 10. 要素を無視することは可能ですか?relative?
- 11. 可視要素だけをグラフ化する方法は?
- 12. CSS - 可視性を持つ要素:hiddenはスクロールしません。
- 13. flash cc createjsの中にhtmlを組み込む:createjsテキストを作成しない。統合が可能ですか?
- 14. CapybaraとSiteprism:読み込みを無視する要素
- 15. phantomjsの要素の可視性を待つ
- 16. 複数のポリマー鉄スクロールスレッショルドでより多くのデータを読み込み、要素の可視性を検出
- 17. 空要素を基底チェックと変更の可視性
- 18. ポリマーネオンアニメーションでビューポートに可視の要素をアニメ化
- 19. gridview要素の可視性を設定する
- 20. jQueryで要素の可視性を設定する
- 21. 要素の可視性状態を検出する
- 22. strsplitが不可視の要素を返します
- 23. グループ要素のExpandableListViewに可視性を設定したい
- 24. jQuery - >要素の可視性を確認する
- 25. HTML要素の可視性を変更できません
- 26. フォーム要素の可視性を切り替える
- 27. Spock:if-else check in spock - 要素の可視性をチェック
- 28. recyclerviewで完全に可視の要素を見つけよう
- 29. 要素はセレンのinspect要素の後にのみ使用可能
- 30. jQuery遅延のある可視要素へのクラスの追加
私にとってはうまくいきます!ありがとう – RafelSanso