Javascript函数适用于除textareas,文本框之外的所有页面

时间:2012-07-24 11:19:02

标签: javascript jquery

我的功能(如下所示)专用于“复制保护”页面。(实际上它只是视觉效果。高级用户可以从源代码中获取。)我想要做的是让这个功能适用于所有页面部分,除了textareas,文本框。我怎样才能达到这个结果?

(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']);
        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;
                });
            });
        });
    }
})(jQuery);

1 个答案:

答案 0 :(得分:2)

你应该能够做到

$('*').not('textarea, input[type="text"]').disableSelection();