最近做了一个双击row的响应功能,不希望在双击table的row时出现文字复制的效果,影响体验,所以找到了禁用页面复制的js代码
document.onselectstart = function(){return false;}; //取消文字选择功能
但是,我的编辑表格时insert一条虚拟row实现的,虚拟row行内编辑的某个单元格会在使用document全局禁用时不可输入,所以,不针对全局禁用,仅针对table区域禁用
$table.bind('selectstart', function(ev) {
return false;
};
然而,问题还是存在,所以,看了它的源码,大概就是在点击row时,才会触发这个函数,然后返回值为false即不可复制,那么针对每列改成黑名单的方式解决,把需要禁用的列cellIndex作为判断条件,限制住即可,最终代码:
$table.bind('selectstart', function(ev) {
switch (ev.target.cellIndex) {
case 1:
case 2:
case 3:
case 4:
case 5:
case 6:
case 9:
case 10:
return false;
default:
return true;
}
};