2013年10月25日 星期五

防止img被選擇

議題:在likebox中連點右邊按鈕後會把中間的img選起來,如何不讓他選起來

解法:
firefox要用css
-moz-user-select:none;
其他用onselectstart="return false"

用js一次解法:
Obj.style.MozUserSelect = 'none';
Obj.unselectable = 'on'; // for IE5.5 http://www.tohoho-web.com/html/attr/unselectable.htm
Obj.onselectstart = function() { return false; };
Obj.onmousedown  = function() { return false; };

http://stackoverflow.com/questions/2700000/how-to-disable-text-selection-using-jquery
$(el).attr('unselectable','on')
     .css({'-moz-user-select':'-moz-none',
           '-moz-user-select':'none',
           '-o-user-select':'none',
           '-khtml-user-select':'none', /* you could also put this in a class */
           '-webkit-user-select':'none',/* and add the CSS class here instead */
           '-ms-user-select':'none',
           'user-select':'none'
     }).bind('selectstart', function(){ return false; });

Firefox(部份,不確定什麼原因,似乎非firefox版本問題,我當時版本24,做不出來)在likebox(mask之上)按鈕顏色會異常(移動或縮放瀏覽器後更可明顯觀察)



原因:
box-shadow在作怪
http://stackoverflow.com/questions/5095253/box-shadow-in-firefox
解法:
.fubar {
    box-shadow: 10px 10px 30px #000;
    -moz-box-shadow:none !important; /* 在firefox24中-moz-box-shadow屬性無反應 */
}

@-moz-document url-prefix() {
    .fubar {
        box-shadow:none; /* 採用 */
    }
}

沒有留言:

張貼留言