2011-08-18 113 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

相關問題