这个问题曾经被问过,但是没有一个答案对我有用。
我尝试过的事情:
event.preventDefault()-什么也不做。
从CSS中删除用户选择-不可行,用户应该仍然可以选择文本。
在按住ctrl键的同时单击并从事件中删除选择-延迟,仅在将鼠标悬停后才有效
以上示例:
document.body.querySelector('tbody').addEventListener('click', e => {
e.preventDefault();
if (e.target.tagName === 'TD') {
if(e.ctrlKey){
//Select row logic here
if (document.selection){
document.selection.empty();
}else if (window.getSelection){
window.getSelection().removeAllRanges();
}
}
}
})
http://jsfiddle.net/ppgab/zm1dgt3s/5/
当用户单击“表格”单元格之间的空格,然后选择所有单元格时,这会变得更加烦人。
是否有解决此问题的简便方法?请不要使用jQuery
答案 0 :(得分:0)
我只是使用了错误的事件,mousedown是正确的事件:
table.addEventListener('mousedown', e => {
if(e.ctrlKey){
e.preventDefault();
}
})
答案 1 :(得分:0)
您可以使用CSS尝试吗?
div#myDiv:active{
text-decoration: none;
}