在mouseenter / mouseleave上拖动元素下的jQuery检测元素

时间:2018-04-06 14:08:26

标签: jquery typescript

我在这里有点奇怪......我在mouseenter和mouseleave事件上都有事件监听器,如下所示。

$(".dropContainer").on("mouseenter", dropContainerEnter);
$(".dropContainer").on("mouseleave", dropContainerLeave);

...但是当光标移动到附着速度的元素上时,它们似乎只会触发,并且两个事件似乎同时触发(或根本不触发)。 js在下面演示了问题(每个事件发生时都有console.log)。

https://jsfiddle.net/1b68eLdr/5341/

基本上你将一个元素从左边(测试1 /测试2 ...)拖到右手div中,我需要能够检测到鼠标进入并相应地离开。谁能告诉我如何解决它?

更新:所以我意识到发生这种情况的原因是因为我拖动一个元素并试图检测鼠标移动到div上的时间,因为它只在光标快速移动时才起作用是因为光标短暂地丢失了它正在拖动的元素,因此可以检测到div。

有没有办法让动态生成的元素(下面)“透明”,所以mouseenter事件会检测到它下面的div和其他元素?

$(".dragAndDropContainer").append("<p class='clone'>" + $(target).text() + "</p>");

1 个答案:

答案 0 :(得分:1)

想出这个问题,我想也许我也可以发布关于某人有类似问题的机会。最初的问题是我在div上设置了mouseenter / leave事件监听器,并试图在拖动另一个元素时检测到该div。

决议是将下面的css添加到被拖动的元素中,这是我迄今为止从未听说过的设置。

pointer-events: none;