2011-08-18 110 views
4

我正在寻找使用jQuery的“disableSelection()”函数,因为我有很多拖放页面,但我不想禁用选择输入框,只是一切。disableSelection除了输入[type = text]

我已经试过

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

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

仍禁止一切的页面。谢谢。

+0

“还没有运气”是什么意思? –

+0

这意味着,我尝试了我说的我尝试过,没有运气。 –

+0

@Tim看,没有运气是不是问题哥们。告诉发生了什么错误,你得到什么不工作 – zod

回答

9

随着

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

你的body每一个实例,它是不是一个input禁用选择。由于body不是输入,所以只会禁用body上的选择。

试试这个:

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

然而,像其他人指出,这是对的事情,不是摆在首位拖动可能毫无用处禁用选择。所以,也许你应该用.drag替换body,或者你可以选择所有可拖动的对象(保持函数的其余部分相同)。

+0

感谢Kokos,这是完全有道理,但仍然无法正常工作。我是否应该遍历页面上的每个元素并检查输入,然后禁用哪些不是输入? –

+0

这实际上就是代码所做的事情,它会查找身体内不是输入的每个元素并将其禁用。究竟“没有工作”? – Kokos

+0

一切仍然无法使用,包括输入框 –

0

我不这么认为disableSelection将用于输入文本框。这对于创建文本元素或包含文本的元素非常有用,不可选择文本。例如,如果您有可拖动的元素,则当用户拖动元素时,您可能不希望文本选择发生。

+0

就这样看来,只有在可拖动元素上'disableSelection'才有意义,可能是在启动这些元素的方法中。 – Johnny5

相关问题