我要求在我的页面上有一个HTML元素(标签)对于IE来说是不可选择的...目前我已经尝试了
Unselectable=on
onselectreturn=false;
没有一个能帮助我。
对于Firefox和Chrome,我设置了以下CSS属性,这些属性工作得非常好......但问题与IE一样。
您设置的CSS属性:
-moz-user-select: -moz-none;
-khtml-user-select: none;
-webkit-user-select: none;
-o-user-select: none;
user-select: none;
有没有替代方案或IE-hack?
Stack Overflow上的答案帮助了我,但不是IE。
答案 0 :(得分:6)
在IE8中,有两种方法可以使元素无法选择:
1。)myElement.unselectable = "on"; // Does not work on body elements
2。)myElement.onselectstart = function (){ return false; }
一旦元素无法选择,用户就无法从该元素中进行选择。 但是,他们仍然可以选择元素的文本或框 通过从另一个不可选择的元素中拖入它。
我试图通过取消myElement上的各种事件来解决这个问题(ondragenter,oncontrolselect,onmouseenter,onselectionchange ...),但它没有用。
所有这些仅适用于IE8
答案 1 :(得分:6)
<label unselectable="on">
应该适用于HTML中的IE。如果从javascript应用它,你必须使用setAttribute:labelEl.setAttribute("unselectable","on")
。 labelEl.unselectable = "on"
不起作用(在IE9中测试过)。
请注意,“不可选择”属性仅影响元素内的文本 ,而不影响其子元素 - 如果这是您想要的效果,您还需要在它们上设置不可选择的内容。
答案 2 :(得分:0)
将unselectable
设置为off
,它应该有效。
<label unselectable="off">Something</label>
这对我也有用
<label onselect="return false">Something</label>