Firefox:按下鼠标按钮时鼠标hover不起作用

这是我想要做的: https : //gfycat.com/ValidEmbarrassedHochstettersfrog

我想使用鼠标突出显示

一些

对象。 此video录制在Chrome上,完美运行。 不幸的是它不在Firefox上。

下面是它的工作原理:

  1. 用户点击表格中的第一个单元格
  2. 他将鼠标拖到其他牢房
  3. 正在突出显示细胞

码:

 $("#productList").on("mousedown", "td", function () { //save from where to start } $("#productList").on("mouseover mouseenter mouseover hover", "td", function () { //update highlighting, modify classes //this function isn't fired when I click on one of 
and drag mouse somewhere else }

其中#productList

虽然在Chrome中一切都按预期工作,但Firefox似乎没有激活mouseenter事件(以及我尝试过的任何其他事件)。 Mouseover仅适用于我点击过的对象。 当我使用鼠标拖动时,Firefox似乎只考虑聚焦对象。

我怎么能绕过它呢?

编辑:一件重要的事情要提到:我在每个单元格中都有一个 。 这可能会导致问题https://jsfiddle.net/q8v7f6uv/6/

您使用的是哪个版本的Firefox? 我试图以简单的方式复制你所描述的内容,它似乎适用于FF(47.0.1)和Chrome。

在mousedown上:

 $(this).css("background", "red"); 

在mouseenter上:

 $(this).css("background", "yellow"); 

https://jsfiddle.net/q8v7f6uv/1/

编辑:

在您对问题进行编辑之后..它在Firefox中无效,因为文本框正在浏览器中“拖动”,就像您可以突出显示文本并将其拖放到另一个文本字段中一样。

您可以使用css禁用此function: user-drag: none;user-select: none; 这解决了你的问题。 注意我为input添加的额外css规则。 https://jsfiddle.net/q8v7f6uv/10/

谢谢。 它似乎适用于jsfiddle。 我有一个情况,当按下鼠标左键时,鼠标中心事件没有在FF上触发。

我没有看到您的示例与我们的代码之间存在任何明显差异。