1document.oncontextmenu=new Function("return false") 2 3function preventSelection(element){ 4 var preventSelection = false; 5 6 function addHandler(element, event, handler){ 7 if (element.attachEvent) 8 element.attachEvent('on' + event, handler); 9 else 10 if (element.addEventListener) 11 element.addEventListener(event, handler, false); 12 } 13 function removeSelection(){ 14 if (window.getSelection) { window.getSelection().removeAllRanges(); } 15 else if (document.selection && document.selection.clear) 16 document.selection.clear(); 17 } 18 function killCtrlA(event){ 19 var event = event || window.event; 20 var sender = event.target || event.srcElement; 21 22 if (sender.tagName.match(/INPUT|TEXTAREA/i)) 23 return; 24 25 var key = event.keyCode || event.which; 26 if (event.ctrlKey && key == 'A'.charCodeAt(0)) // 'A'.charCodeAt(0) можно замениÑÑ Ð½Ð° 65 27 { 28 removeSelection(); 29 30 if (event.preventDefault) 31 event.preventDefault(); 32 else 33 event.returnValue = false; 34 } 35 } 36 37 // не даем вÑделÑÑÑ ÑекÑÑ Ð¼ÑÑкой 38 addHandler(element, 'mousemove', function(){ 39 if(preventSelection) 40 removeSelection(); 41 }); 42 addHandler(element, 'mousedown', function(event){ 43 var event = event || window.event; 44 var sender = event.target || event.srcElement; 45 preventSelection = !sender.tagName.match(/INPUT|TEXTAREA/i); 46 }); 47 48 // боÑем dblclick 49 // еÑли веÑаÑÑ ÑÑнкÑÐ¸Ñ Ð½Ðµ на ÑобÑÑие dblclick, можно избежаÑÑ 50 // вÑеменное вÑделение ÑекÑÑа в некоÑоÑÑÑ Ð±ÑаÑзеÑÐ°Ñ 51 addHandler(element, 'mouseup', function(){ 52 if (preventSelection) 53 removeSelection(); 54 preventSelection = false; 55 }); 56 57 // боÑем ctrl+A 58 // ÑкоÑей вÑего ÑÑо и не надо, к ÑÐ¾Ð¼Ñ Ð¶Ðµ еÑÑÑ Ð¿Ð¾Ð´Ð¾Ð·Ñение 59 // ÑÑо в ÑлÑÑае вÑе же Ñакой Ð½ÐµÐ¾Ð±Ñ Ð¾Ð´Ð¸Ð¼Ð¾ÑÑи ÑÑнкÑÐ¸Ñ Ð½Ñжно 60 // веÑаÑÑ Ð¾Ð´Ð¸Ð½ Ñаз и на document, а не на ÑÐ»ÐµÐ¼ÐµÐ½Ñ 61 addHandler(element, 'keydown', killCtrlA); 62 addHandler(element, 'keyup', killCtrlA); 63 64 document.addEventListener('copy', function(e) { 65 e.preventDefault(); 66 }, false); 67} 68 69preventSelection(document);
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.