https://stackoverflow.com/a/13407898/3703461
我已经看过这段代码了,发现它非常特殊。
我已经把它变成了jQuery的可插入格式:
$.fn.unselectableCSS = function(){
var style = document.createElement('style');
style.appendChild(document.createTextNode(""));
document.head.appendChild(style);
var css = '.unselectable {\r\n'+
'-moz-user-select:none;\r\n'+
'-webkit-user-select:none;\r\n'+
'-ms-user-select:none;\r\n'+
'user-select:none;\r\n'+
'-webkit-user-drag:none;\r\n'+
'user-drag:none;\r\n'+
'}\r\n';
$(style).html(css);
}
$.fn.unselectable = function(){
$(this).addClass('unselectable')
.attr('unselectable','on')
.attr('draggable','false')
.on('dragstart',function(){return false;});
$(this).find( '*' )
.attr( 'draggable', 'false' )
.attr( 'unselectable', 'on' );
}
$(document).ready(function(){
$(document).unselectableCSS();
$('img').unselectable();
});
它完美无缺!除了一种情况(到目前为止)
如果通过前/后元素(在这种情况下是带有背景图像的元素之前)单击图像,则其后面的图像将再次变为可拖动! (有时会发生这种情况,有时需要点击几下)
任何可能导致这种情况的想法?