javascript OnMouseDown / OnMouseUp仅适用于第一次

时间:2018-02-21 19:14:56

标签: javascript javascript-events mouseevent

我有一个表,在每个单元格中都有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);    
}

1 个答案:

答案 0 :(得分:0)

问题解决了。

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

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