2016-07-27 60 views
-1

點擊btn觸發btn1點擊事件,但點擊btn它觸發btn1事件和關閉彈出窗口後,但它不應該我怎樣才能停止。如何調用另一個按鈕單擊事件,停止特定屬性

雖然點擊btn只有表單驗證應該發生,需要停止關閉fancybox。

$('.btn').on('click', function(){ 
    $('.btn1').css('display','block'); 
    $('.btn1').trigger('click'); 
}); 

$('.btn1').on('click', function(){ 
    //form validation 

    $.fancybox.close(); 

}); 
+0

什麼是'btn'和'btn1'? className或id? –

+0

@RajaprabhuAravindasamy:錯過的btn和btn1是類 – koder

+0

@koder變量'error'是什麼?它擁有什麼? –

回答

0

您可以在btn1上觸發點擊事件時傳遞參數。

Javascript代碼:

$('.btn').on('click', function(){ 
    $('.btn1').css('display','block'); 
    $('.btn1').trigger('click', [true]); 
}); 

$('.btn1').on('click', function(event, dontClose){ 
    //form validation 
    if(error == 0 && !dontClose){ 
     $.fancybox.close(); 
    } 
}); 

當點擊事件上btn1自動觸發,dontClose將在這種情況下,根據error花哨框將關閉不確定的。

+0

感謝您的解決方案,意味着需要知道.trigger([true])參數是什麼意思,你能解釋一下,無論如何學到了一件新事物。 – koder

+0

'true'只是一個傳遞給click事件處理程序的參數,用於控制花式框。任何事件處理程序都會期望的第一個參數是一個事件對象,因此傳遞的參數將從第二個參數開始,而不是從第一個 – dreamweiver

0

我不知道我是否理解你需要什麼,如果不告訴我,我會刪除這個答案。

$('.btn').on('click', function(){ 
    console.log("click btn"); 
    $('.btn1').trigger('click', 1); 
}); 

$('.btn1').on('click', function(e, data){ 

    //form validation 
    if (data != 1) { // if event is not triggered 
     $.fancybox.close(); 
    } 

}); 
+0

開始,並且您的邏輯花式框不會基於頁面上的錯誤關閉,現有功能已損壞。 – dreamweiver

+0

@dreamweiver idk,OP刪除錯誤的東西「在他的問題 –

+0

好吧,我想他的意思是,如果沒有錯誤,花式框應該關閉點擊'btn1' – dreamweiver

相關問題