5

aspx ページのキャンバス hmtl5 セクションで、マウス ダウンをシミュレートしてからマウス アップ イベントをシミュレートするにはどうすればよいですか?

Web で検索したところ、これが見つかりました... しかし、これをキャンバスの html5 要素に関連付けることができません。

dispatchMouseEvent(element, 'mouseover', true, true);
dispatchMouseEvent(element, 'mousedown', true, true);
dispatchMouseEvent(element, 'click', true, true);
dispatchMouseEvent(element, 'mouseup', true, true);
4

1 に答える 1

9

イベントの「シミュレート」は非常に簡単です。実際、単純にトリガーすることができます。jQuery を使用すると、これは子供の遊びになります (実際の例については、この jsfiddleを参照してください)。

$('#canvas_element').on("mousedown mouseup", function(e) {
console.log(e.type + " event fired at coords: " + e.pageX + ", " + e.pageY);
});

x_coord = 1;
y_coord = 1;

var e = jQuery.Event( "mousedown", { pageX: x_coord, pageY: y_coord } );
$('#canvas_element').trigger(e);

// execute more code
x_coord = 255;
y_coord = 255;

var e = jQuery.Event( "mouseup", { pageX: x_coord, pageY: y_coord } );
$('#canvas_element').trigger(e);

純粋な JavaScript ソリューションについては、この古い SO の質問を参照してください。

于 2013-08-21T18:54:29.207 に答える