除输入[type = text]之外的所有内容的disableSelection

时间:2011-08-18 14:49:57

标签: javascript jquery

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

我试过了

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

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

仍然在网页上禁用所有内容。谢谢。

2 个答案:

答案 0 :(得分:9)

使用

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

您对body的{​​{1}}的每个input实例都禁用选择。由于正文不是输入,因此只会禁用正文选择。

试试这个:

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

但是,正如其他人所指出的那样,首先禁止选择不可拖动的东西可能是无用的。所以也许你应该用body替换.drag,或者你可以选择所有可拖动的对象(保持函数的其余部分相同)。

答案 1 :(得分:0)

我不这么认为disableSelection适用于输入文本框。它对于制作文本元素或包含文本的元素非常有用,而不是文本可选择的。例如,如果您有一个可拖动元素,则在用户拖动元素时可能不希望发生文本选择。