javascript:禁用文本select
我正在使用JavaScript来禁用我的网站上的文字select。
代码是:
<script type="text/JavaScript"> function disableselect(e){ return false } function reEnable(){ return true } document.onselectstart=new Function ("return false") if (window.sidebar){ document.onmousedown=disableselect document.onclick=reEnable } </script>
类似的脚本可以在这里find: http : //rainbow.arch.scriptmania.com/scripts/no_right_click.html
在我的本地主机上:所有浏览器(Firefox,Chrome,IE和Safari)都很好用。
在我的Live站点上:除了Firefox之外,其他都可以。
我的问题是:
-
有没有人有一个build议,为什么Firefox的行为不同的现场和本地主机。 注意:Javascript已启用。
-
也许我的脚本太简单了,所以我尝试了以下完全相同的结果: http : //freeware.ke-zo.com/CODES/DisableRC.txt
只要使用这个CSS方法:
body{ -webkit-touch-callout: none; -webkit-user-select: none; -khtml-user-select: none; -moz-user-select: none; -ms-user-select: none; user-select: none; }
你可以在这里find相同的答案: 如何禁用文本select突出显示使用CSS?
对于JavaScript使用这个function:
function disableselect(e) {return false} document.onselectstart = new Function (return false) document.onmousedown = disableselect
使select使用这个:
function reEnable() {return true}
并在你想要的任何地方使用此function:
document.onclick = reEnable
我正在编写滑块ui控件来提供拖动function,这是我阻止用户拖动时select内容的方式:
function disableSelect(event) { event.preventDefault(); } function startDrag(event) { window.addEventListener('mouseup', onDragEnd); window.addEventListener('selectstart', disableSelect); // ... my other code } function onDragEnd() { window.removeEventListener('mouseup', onDragEnd); window.removeEventListener('selectstart', disableSelect); // ... my other code }
在你的dom上绑定startDrag
:
<button onmousedown="startDrag">...</button>
如果要静态禁用所有元素的文本select,请在元素加载时执行代码:
window.addEventListener('selectstart', function(e){ e.preventDefault(); });