Javascript OnMouseDown / OnMouseUp 仅在第一次有效

Javascript OnMouseDown / OnMouseUp works only first time

我有一个 table,每个单元格中都有 OnMouseDown 事件和 OnMouseUp 事件。我单击第一个单元格,然后将鼠标拖动到另一个单元格,当我停止按住鼠标时,它会从起始单元格和结束单元格获取详细信息,因此我可以从这两个数字创建范围。

问题是它只在第一次有效。当我第二次执行相同的单元格范围时,它会显示错误光标。但是当我点击其他地方时,它的行为就像它重置了 onMouseDown 事件,我可以再做一次。

示例代码:

每个单元格如下所示:

<td id='20' onmousedown='OnMouseDownStart(this.id)' onmouseup='OnMouseDownEnd(this.id)'></td>

<td id='21' onmousedown='OnMouseDownStart(this.id)' onmouseup='OnMouseDownEnd(this.id)'></td>

function OnMouseDownStart(id){
    $('#details').find('#startday').html(id);
}

function OnMouseDownEnd(id){
    $('#details').find('#endday').html(id);    
}

问题已解决。

当单元格内没有任何内容时,您还需要添加 CSS 属性: user-select:none

然后就可以完美运行了。否则,如果有没有此 css 属性 的文本或空白单元格,它将尝试移动突出显示的内容。