最近做了一個雙擊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;
}
};