我的功能(如下所示)专用于“复制保护”页面。(实际上它只是视觉效果。高级用户可以从源代码中获取。)我想要做的是让这个功能适用于所有页面部分,除了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);
答案 0 :(得分:2)
你应该能够做到
$('*').not('textarea, input[type="text"]').disableSelection();