Undraggable图像

时间:2015-04-24 14:47:03

标签: jquery image pseudo-element

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

它完美无缺!除了一种情况(到目前为止)

如果通过前/后元素(在这种情况下是带有背景图像的元素之前)单击图像,则其后面的图像将再次变为可拖动! (有时会发生这种情况,有时需要点击几下)

任何可能导致这种情况的想法?

0 个答案:

没有答案