在Internet Explorer中禁用/启用用户选择

时间:2016-09-27 19:25:04

标签: javascript jquery html css internet-explorer

所以,让我说我有以下代码,我希望能够选择box2中的所有内容,但让我身体中的其他所有内容都无法选择。以下示例适用于chrome,但遗憾的是在IE中根本不起作用。这是因为在IE中你必须放置"不可选择的"在每个子元素中都属性。现在很明显我可以创建一个JS函数来将它添加到我需要它的每个元素上但是我的DOM要复杂得多,因此这是不现实的。我怎么能在IE中这样做?



            $('body').addClass('unselectable');
            $('body').attr("unselectable", "on");
            $('.box2').addClass('box-selectable');
            $('.box2').attr("unselectable", "off");

.unselectable{
   -ms-user-select: none; /* IE 10+ */
   -moz-user-select: -moz-none;
   -khtml-user-select: none;
   -webkit-user-select: none;
   user-select: none;
}

.selectable{
   -ms-user-select: auto;
   -moz-user-select: auto;
   -khtml-user-select: auto;
   -webkit-user-select: auto;
   user-select: auto;
}

.box-selectable{
   -ms-user-select: auto !important;
   -moz-user-select: auto !important;
   -khtml-user-select: auto !important;
   -webkit-user-select: auto !important;
   user-select: auto ;
}

<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<body>
	<div class='box1'>
		<p> Hello </p>
		<p> World </p>
	</div>
	<div class='box2'>
		<p> Foo </p>
		<p> Bar </p>
	</div>
</body>
&#13;
&#13;
&#13;

0 个答案:

没有答案