web-dev-qa-db-ja.com

特定の座標でJavaScript click()イベントをトリガーする

クリックイベントを発生(トリガー)しようとしています。 jQueryで行うのは簡単ですが、イベントの座標を設定して送信する方法を理解できません。

基本的に、特定の場所でクリックをトリガーする必要があります(trigger()呼び出しの前に計算されます)。

これを行う方法はありますか(jQueryなどで)?

ありがとう-

36
OneNerd

pageX および pageY プロパティ(これらは正規化されています)を eventオブジェクト に設定して、 .trigger() 、このように:

var e = new jQuery.Event("click");
e.pageX = 10;
e.pageY = 10;
$("#elem").trigger(e);
46
Nick Craver

これを試して

$(function() {
  $('.rating').on('page:click', function(e) {
  var coords = "X coords: " + e.clientX + ", Y coords: " + e.clientY,
  aim = document.elementFromPoint(e.clientX, e.clientY);
  $(aim).click();
  console.log(aim);
  $('#status').text(coords);
  });
  var action = $.Event('page:click', {clientX: 1043, clientY: 70});
  $('.rating').trigger(action);
});

ライブデモはこちらをクリック

0
w3codemasters