处理点击事件的问题

时间:2012-08-08 08:33:13

标签: javascript jquery jquery-ui

我有一个Jquery UI调整大小处理程序,它绝对位于一个包含LI的集合的div上(这里是日期集)。 因此,当我点击任何日期时,由于调整大小div高于LI,因此不会传播click事件。

那么我怎样才能让li来处理点击?

JSFIDDLE - http://jsfiddle.net/svXTa/1/

2 个答案:

答案 0 :(得分:1)

正如我已经说过的那样,不允许在不破坏鼠标事件的情况下点击元素。

我建议您检查一下您的设计并选择一个解决方案,该解决方案不会将元素叠加在绑定了点击处理程序的元素上方。

无论如何,如果你想继续当前的设置,这是我的hackish解决方案,它不会破坏可调整大小的元素,同时调用它下面的元素的点击处理程序:

$('#dgArea').click(function(e) {
    $(this).hide();
    $(document.elementFromPoint(e.pageX, e.pageY)).click();
    $(this).show();
});

Fiddle

请注意,古代浏览器不支持document.elementFromPoint,因此如果这是一个问题,您可以手动实现它。这是one way来做这件事。

答案 1 :(得分:0)

设置

#dgArea{
  pointer-events: none;
}