我有一個要求,除了input [type = text]元素之外的所有內容禁止在網頁上選擇。disableselection除了輸入[type = text]
This accepted answer到一個類似的問題幾乎沒有技巧,但它不禁止選擇包含輸入[type = text]元素的容器。因此,用戶仍然可以通過從這些容器中的一個內啓動拖動操作來進行選擇。
這是否可能,即是否可以禁用容器元素的選擇,同時爲子元素(特別是子輸入=文本元素)啓用它。
@Pointy,「爲什麼不先取出那個.not()調用?」
取出第一.not
呼叫,會給:
$('body').not('input').disableSelection();
其中,如在鏈接的問題指出,仍然會在頁面上禁用的一切,包括輸入[類型=文本]元素。
@大衛·托馬斯,「你有一個現場演示......」
我沒有現場演示,但它是相當微不足道。例如,帶有一些填充的div包含一個輸入[type = text]元素。其結果是:
隨着
$('body').not('input').disableSelection();
selectiopn對所有的頁面關閉,其中包括輸入元素。With
$('body *').not(':has(input)').not('input').disableSelection();
對於不包含輸入元素的所有元素,禁用選擇。但是可以通過從包含輸入元素的容器中開始拖動操作來選擇整個頁面。
爲什麼不只是取出該第一個'。不()'呼叫? – Pointy
到目前爲止,你有什麼?([SSCCE](http://sscce.org/))HTML?你有現場演示,我們可以看到工作,或失敗? –