通过触发器获取单击元素

时间:2011-11-25 22:53:26

标签: javascript jquery events triggers position

有没有办法获得被触发器点击的元素选择器?我试图避免在$("#certain_element").trigger(e);之类的触发器方法中指定某些元素我想在pageXpageY参数定义的页面中的某个位置调用触发器,然后获取一个元素被点击了。

var e = new jQuery.Event("click");
e.pageX = 80;
e.pageY = 40;
$('*').trigger(e);

$('*').click(function() {
  alert('This element was clicked:'+$(this).get(0).tagName);
});

此脚本无法正常运行。

2 个答案:

答案 0 :(得分:1)

根据Andrew和Anurag的评论:

$(document.elementFromPoint(80, 40))
  .trigger('click')
  .css('background-color', 'blue');

答案 1 :(得分:0)

您在绑定点击之前触发它。

var e = new jQuery.Event("click");
e.pageX = 80;
e.pageY = 40;
// binds
$('*').click(function() {
  alert('This element was clicked:'+$(this).get(0).tagName);
});
// then triggers
$('*').trigger(e);

尽管如此,如果我是你,我会使用另一个选择器,它不会触发窗口,文档和其他不必要标签的事件。

$(documnet.body).find('*').click(...);
$(document.body).find('*').trigger(e);