寫了一下範例,開關選取文字狀態的按鈕:
範例文字選擇
<body>
<script>
function undoSelect () {
document.onselectstart = new Function("return false;");
document.body.style.MozUserSelect = 'none';
}
function doSelect ()
{
document.onselectstart = new Function("return true;");
document.body.style.MozUserSelect = 'text';
}
</script>
<div>範例文字選擇</div>
<input type=button value="可選擇" onClick='doSelect()'>
<input type=button value="不可選擇" onClick='undoSelect()'>
</body>
這個範例程式碼,是針對整份文件的設定 ( document),如果要改某些區域 (如div),則換成相關物件即可。
若要將文件選取的狀態取消,則要將物件的 onselectstart 這個觸發事件中,指定一個 function 傳回 false。這個方法在 IE/Chrome 是可執行的,但 Firefox 必須透過 style去改變可選取的屬性,於是必須加一行程式碼給他辨識,obj.style.MozUserSelect = 'none';
反之則傳回 true 和屬性MozUserSelect設為 text 或設"空白" (使用預設=text)
這樣在拖拉物件時,就可以輕易的變動文字選取狀態,拖拉物件完畢後,恢復原狀即可。
沒有留言:
張貼留言
我的意見