クリックしている間にマウスカーソルがキャンバスに入るHTML 5キャンバス要素のJQueryイベントリスナを実装する方法を知りたいと思います。キャンバスマウスのイベントハンドラがクリックされている間に入力される
0
A
答えて
0
mousedown
とmouseup
のフラグを立てておき、ユーザーがキャンバスにカーソルを合わせたときにこれを確認します。
var mouseDown = false;
$(document).mousedown(function() {
mouseDown = true;
});
$(document).mouseup(function() {
mouseDown = false;
});
var canvasHover = false;
$('canvas').on('mouseenter', function() {
$('span').html(mouseDown ? 'true' : 'false');
});
canvas {
background:yellow;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<canvas width="300" height="300"></canvas>
<hr />
mouse is down: <span></span>
0
あなたはキャンバス上document
へのmousedown \のmouseupイベントおよびMouseEnterイベントをバインドすることができます。
何らかの方法で停止イベントが発生しないように、キャプチャフェーズを使用することをお勧めします(jQueryではサポートしていません)。
例を参照してください:
document.addEventListener('mousedown', function(e) {
$(this).data('mouseHold', e.which);
}, true);
document.addEventListener('mouseup', function(e) {
$(this).data('mouseHold', false);
}, true);
$('canvas').on('mouseenter', function() {
if ($(document).data('mouseHold')) {
console.log('holding mouse button ' + $(document).data('mouseHold'));
}
});
canvas {
background: blue;
}
<script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<canvas></canvas>
関連する問題
- 1. 動的に生成される入力/ボタンのイベントハンドラをクリックしますか?
- 2. C#コンボボックスの値が入力によって変更されたときに呼び出されるイベントハンドラ
- 3. htmlの入力をクリックするとヒントが表示される
- 4. Qframe用の選択されたイベントハンドラとクリックされたイベントハンドラの作成
- 5. 2回目のクリックで入力が追加されない
- 6. on jqgrid next buttonクリックすると、データが入力されていません
- 7. クリックしたときに入力がフォーカスされないようにする
- 8. 入力された文字が表示されているScalaのキーボード入力を読み取る
- 9. バックボーンコレクションにデータが入力されない
- 10. ドロップダウンリストにデータが入力されない
- 11. データベースに--None--プルダウンメニューが表示されている場合、他のショーデータが入力されている場合
- 12. iframeのイベントハンドラが呼び出されずにロードされる
- 13. がクリックされたときの入力値の変更
- 14. datepickerが入力フィールドに挿入されていません
- 15. ブーストプログラムのオプションが許可されている入力値のセット
- 16. 返されたWebサービスデータがテーブルビューに入力されていない
- 17. コードが出力されず、ループ文が入力されます
- 18. VBAが間違ってシリーズ名として入力されています
- 19. selectタグでオプションをクリックして値を入力すると、入力が作成されます
- 20. 送信がクリックされたときに入力ラジオを保存する
- 21. アクションが実行されている間、マウスイベント(クリック)を無効にする
- 22. 特殊文字が間違って入力されています
- 23. 呼び出されたときに角度のクリック機能が入力されない
- 24. ラジオボタンをクリックすると、入力フィールドにデータが自動的に入力されます
- 25. アンドロイド - EditTextフィールドがあらかじめ入力されている
- 26. セルロックオンデータが入力されている場合
- 27. リセットボタンをクリックしている間にエラーメッセージが消去されない
- 28. webviewで入力をクリックしたときにAndroidキーボードが表示されない
- 29. 入力テキストにカンマが入力されたときにAngularjsが表示される
- 30. jQuery UIのオートコンプリートがクリックされたとき、入力のオンチッチを禁止する
リンクをチェックhttp://jsfiddle.net/tQyst/9/ –
カーソルがキャンバスを入力したときに、マウスボタンをホールドある意味ですか? –
'mousenter'イベントに' .buttons'プロパティがあります。それを確認します。 https://developer.mozilla.org/en-US/docs/Web/Events/mouseenter#Properties小さいブラウザサポート:/ – Kaiido