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 属性 的文本或空白单元格,它将尝试移动突出显示的内容。
我有一个 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 属性 的文本或空白单元格,它将尝试移动突出显示的内容。