ページマスクマウスの左右ボタンのメモ

3301 ワード

2012-3-30 
ブラウザによってctrl+pに対する効果が異なるため、印刷できるものもあれば、ブラウザ上の印刷を使ってもいいので、再度変更します.
 
ページヘッダに以下のコードを入れ、印刷できても空白ページを印刷するだけです.
 
<style unselectable="on" style="-webkit-user-select: none; ">
			@media print {
			* { display: none }
			}
</style>
 
--------------------------------------------------------------------------------------------
2012-3-16 jqueryを使用してマウスの左右キーおよびctrl+a ctrl+c ctrl+v ctrl+pをマスク
 
 
 (function($){
 $.fn.ctrl = function(key, callback) {
    if(typeof key != 'object') key = [key];
    callback = callback || function(){ return false; }
    return $(this).keydown(function(e) {
        var ret = true;
        $.each(key,function(i,k){
            if(e.keyCode == k.toUpperCase().charCodeAt(0) && e.ctrlKey) {
                ret = callback(e);
            }
        });
        return ret;
    });
};
$.fn.disableSelection = function() {
    $(window).ctrl(['a','s','c','p']);
    return this.each(function() {           
        $(this).attr('unselectable', 'on')
               .css({'-moz-user-select':'none',
                    '-o-user-select':'none',
                    '-khtml-user-select':'none',
                    '-webkit-user-select':'none',
                    '-ms-user-select':'none',
                    'user-select':'none'})
               .each(function() {
                    $(this).attr('unselectable','on')
                    .bind('selectstart',function(){ return false; })
					.bind("contextmenu",function(){return false;});
               });
    });
};
})(jQuery);

$(function(){$(document).disableSelection();});

 
午後3時に訂正して、テストを経て、上のコードはffの中でselectを遮蔽することができなくて、実験を経た後に、更に1つのjsをプラスして実行文に対して変更を行うことができて、ffの上でも遮蔽することができます
 
$(function(){$(document.body).disableSelection();});

 
午後5時に訂正して、テストを経て、上のコードはieの下でctrl+pを遮蔽することができなくて、更に1つの純粋なjsをプラスしてieの下の印刷のショートカットキーを単独で遮蔽します
 
document.onkeydown=function(){if(event.ctrlKey&&event.keyCode==80){event.keyCode=0;event.returnValue=false;}}
 
---------------------------------------------------------------------------------------------------------------------------------
2012-3-14 jsを使用してマウスの左右ボタンを遮蔽する
 
$(function(){
	var target=document.body;
	if (typeof target.onselectstart!="undefined") //IE route
		target.onselectstart=function(){return false}
	else if (typeof target.style.MozUserSelect!="undefined") //Firefox route
		target.style.MozUserSelect="none"
	else //All other route (ie: Opera)
		target.onmousedown=function(){return false}
	target.style.cursor = "default";
 $(document).bind("contextmenu",function(e){return false;});
});