2016-10-05 40 views
4

我使用Materialize.css當前項目,我有一些內置的輸入表單下拉。防止materializecss下拉關閉時,它內部點擊它

下拉有選項可以關閉由:.dropdown-content

  • 點擊裏面.dropdown-content
  • 點擊的

    • 點擊外面.dropdown-button

    我需要的是不關閉時點擊裏面,因爲我需要能夠填寫輸入表單和其他操作秒。

    這裏是簡單example

  • +0

    對於此類操作,您不應該使用下拉列表。下拉菜單旨在從項目列表中選擇一個項目,而不是組成整個表單。一個更好的選擇是製作一個按鈕,根據需要呈現表單模式或模擬下拉菜單。 – ironicaldiction

    回答

    8

    快速的解決辦法是stopPropagation上點擊的內容包裝。

    $('.dropdown-button + .dropdown-content').on('click', function(event) { 
        event.stopPropagation(); 
    }); 
    

    我會避免在這個特定的用例中使用'dropdown'。 但是,如果你想堅持下去,只需應用上面的代碼片段即可。

    +0

    像冠軍一樣工作。 ;) –

    1

    可以使用例如:

    $('#first_name').click(function (event) { 
        event.stopPropagation(); 
        //Do whatever you want 
    }); 
    

    ,以避免從傳播由輸入first_name生成的事件。下拉菜單不會檢測到,所以它不會被關閉。

    +0

    什麼更一般? :/因爲我在內部下拉菜單中有很多元素。我試圖把'.dropdown-content'而不是'#first_name',但是我根本無法點擊某些按鈕。 – Plavookac

    +0

    當你說你不能點擊它們時,你是什麼意思?我嘗試使用'.dropdown-content'並在您的示例中爲第二個''分配一個ID「#hi」。然後我嘗試用'$('#hi')按下按鈕。click(function(event){console.log('kkk') });'定義並且工作。 –

    相關問題