Javascript 禁止选择除输入[type=text]之外的所有内容

Javascript 禁止选择除输入[type=text]之外的所有内容,javascript,jquery,Javascript,Jquery,我希望使用jQuery的“disableSelection()”函数,因为我在页面上有很多拖放操作,但我不想在输入框上禁用选择,只想禁用其他所有操作 我试过了 $('body').disableSelection(); $('input').enableSelection(); $('body').not('input').disableSelection(); 仍然禁用页面上的所有内容。谢谢。与 $('body').not('input').disableSelection(); 您可以

我希望使用jQuery的“disableSelection()”函数,因为我在页面上有很多拖放操作,但我不想在输入框上禁用选择,只想禁用其他所有操作

我试过了

$('body').disableSelection(); $('input').enableSelection();

$('body').not('input').disableSelection();
仍然禁用页面上的所有内容。谢谢。

$('body').not('input').disableSelection();
您可以对不是
输入的
正文
的每个实例禁用选择。由于body不是一个输入,这只会禁用body上的选择

试试这个:

$('body *').not(':has(input)').not('input').disableSelection();

然而,正如其他人指出的那样,在一开始无法拖动的东西上禁用选择功能可能是非常无用的。因此,也许你应该用
替换
主体
。拖动
,或者你可以选择所有可拖动的对象(保持函数的其余部分不变)。

我认为
禁用选择
对输入文本框不起作用。这对于使文本元素或包含文本的元素不可选择文本非常有用。例如,如果您有一个可拖动的元素,您可能不希望在用户拖动该元素时进行文本选择。

什么是“仍然没有运气”意思?意思是,我尝试了我所说的我尝试了但没有运气。@Tim looking and no luck不是问题。告诉发生了什么,你犯了什么错误,什么不起作用,我知道这个词的一般意思;我不知道在这种特殊情况下这意味着什么。您需要明确说明这些代码片段是如何工作的。你得到了什么结果?它会禁用所有的选择吗?什么都没有?这没什么大不了的,你只需要提问,也不要对你的问题含糊其辞……谢谢科科斯,这完全是有道理的,但还是没用。我是否应该循环检查页面上的每个元素并检查输入,然后禁用任何不是输入的元素?代码实际上就是这样做的,它查找正文中每个不是输入的元素并禁用它。到底是什么“不起作用”?所有的东西都被禁用了,包括输入框SHM,现在我想这是有道理的。它仍将禁用父对象上的选择。看看我的更新代码。你真厉害!谢谢Kokos!很好用!考虑到这一点,只有在可拖动的元素上才有意义
disableSelection
,可能是在启动这些元素的方法中。