我使用Materialize.css當前項目,我有一些內置的輸入表單下拉。防止materializecss下拉關閉時,它內部點擊它
下拉有選項可以關閉由:.dropdown-content
.dropdown-content
- 點擊外面
.dropdown-button
我需要的是不關閉時點擊裏面,因爲我需要能夠填寫輸入表單和其他操作秒。
這裏是簡單example
我使用Materialize.css當前項目,我有一些內置的輸入表單下拉。防止materializecss下拉關閉時,它內部點擊它
下拉有選項可以關閉由:.dropdown-content
.dropdown-content
.dropdown-button
我需要的是不關閉時點擊裏面,因爲我需要能夠填寫輸入表單和其他操作秒。
這裏是簡單example
快速的解決辦法是stopPropagation上點擊的內容包裝。
$('.dropdown-button + .dropdown-content').on('click', function(event) {
event.stopPropagation();
});
我會避免在這個特定的用例中使用'dropdown'。 但是,如果你想堅持下去,只需應用上面的代碼片段即可。
像冠軍一樣工作。 ;) –
可以使用例如:
$('#first_name').click(function (event) {
event.stopPropagation();
//Do whatever you want
});
,以避免從傳播由輸入first_name
生成的事件。下拉菜單不會檢測到,所以它不會被關閉。
什麼更一般? :/因爲我在內部下拉菜單中有很多元素。我試圖把'.dropdown-content'而不是'#first_name',但是我根本無法點擊某些按鈕。 – Plavookac
當你說你不能點擊它們時,你是什麼意思?我嘗試使用'.dropdown-content'並在您的示例中爲第二個''分配一個ID「#hi」。然後我嘗試用'$('#hi')按下按鈕。click(function(event){console.log('kkk') });'定義並且工作。 –
對於此類操作,您不應該使用下拉列表。下拉菜單旨在從項目列表中選擇一個項目,而不是組成整個表單。一個更好的選擇是製作一個按鈕,根據需要呈現表單模式或模擬下拉菜單。 – ironicaldiction