簡體   English   中英

當用戶在Twitter Bootstrap 3.1模式對話框中單擊時,如何防止單擊事件之前的模糊事件!

[英]How to prevent blur event before click event in twitter bootstrap 3.1 modal dialog when user clicks outside of it.!

我正在使用twitterbootstrap 3.1.0,並且我有一個模態。我希望每當用戶在模態之外單擊時都隱藏該模態(因此我使用了data-backdrop="true"並可以正常工作。)

我的模態對話框有一個焦點輸入元素,該元素具有字段驗證,並且每當顯示模態對話框時,該輸入框都會被聚焦。在該輸入框模糊時,將進行驗證並相應地引發錯誤。(我希望這種邏輯保持不變)。 !!

我的問題是每當用戶在模式對話框外單擊時,它就會消失,並顯示一條錯誤消息(輸入字段的字段驗證)。由於單擊前觸發了模糊事件,它會顯示錯誤消息,然后模式對話框消失。

我不希望在顯示模式對話框之前顯示字段驗證消息。

請幫忙 ! 提前致謝。

單擊前會模糊,您無法更改它。 我的建議是將驗證從模糊轉移到單擊按鈕(我猜您必須具有“確定”或“提交”按鈕)。 這樣可以解決您的問題。

我也有一些技巧(我建議反對)。 由於您遇到了這個問題,我假設您使用動畫制作了模態皮革

  1. 隱藏模態而不使用動畫。 該消息仍將在那里,但是您將沒有時間看到它。

  2. 如果您想知道動畫時間,可以在該時間之后使用setTimeout來檢查模態是否仍然可見。 如果是,則顯示錯誤消息,否則不顯示。

說模態消失需要1秒,您可以嘗試這樣的操作

// Inside blur callback function

setTimout(function(){
    if($("#modal").is(":visible")) {
        // show error message
    }
},1100); //1.1 seconds

在您的方案中,我還是會更喜歡使驗證遠離模糊:)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM