sam*_*sam 8 html javascript css html-select
突出显示此网页上的一些文字,然后基本上点击文档的任何位置.您的选择将消失.
当用户通过CSS或Javascript单击特定元素时,有没有办法防止此行为?
例如:
var element = document.getElementById("foo");
foo.onclick = function(e){
//some magic here that prevents deselection from occuring
}
Run Code Online (Sandbox Code Playgroud)
要么
foo.style.preventDeselect = "true";
Run Code Online (Sandbox Code Playgroud)
编辑:也许我可以存储选择,然后"鼠标点击"恢复选择?有没有办法存储选择,然后重新选择它?
谢谢!
onmousedown 中的“return false”和“e.preventDefault()”适用于 FF 和 Safari,但不适用于 IE。据我所知,IE 的唯一解决方案是抛出错误。
这适用于所有浏览器(但在 IE 中会导致错误,因为 preventDefault 不是一种方法):
//clicking the 'test' element will not deselect text.
var test = document.getElementById("test");
test.onmousedown = function(e){
e = e || window.event;
e.preventDefault();
}
Run Code Online (Sandbox Code Playgroud)
如果可能的话,我仍然希望在 IE 中无错误地执行此操作
感谢 Paolo Bergantino 的“onmousedown”提示。
这种行为虽然在现代浏览器中最为普遍,但却是特定于浏览器/实现的,并且几乎与 CSS 或 Javascript 完全无关。特别要注意的是,Firefox 为整个页面和文本框的内容维护单独的选择状态,而 IE 则不这样做。更糟糕的是,考虑具有单独的鼠标和键盘选择界面的文本模式浏览器。
归档时间: |
|
查看次数: |
5940 次 |
最近记录: |