簡體   English   中英

jQuery:如何在單擊時調用函數

[英]Jquery: How to call a function on click

我有一個復選框,單擊該復選框后,我正在調用以下函數。

 $('#checkbox-id').on('click', function(){
    alert("clicked");
 }).each(function(){this.checked = ace.settings.is('main-container', 'fixed')})

我想從其他函數調用相同的方法。 首先,我需要檢查天氣復選框是否被選中,之后我需要調用函數,一旦復選框被選中,我正在使用此代碼。

$(document).ready(function(){
   if(document.getElementById('checkbox-id').checked){
       $('#checkbox-id').click() // getting called but also unchecking checkbox it should not uncheck
   }
});

這是可行的,但也取消了我不想要的復選框。

因此,如何在不取消選中復選框的情況下調用該函數。

這是要復制的JSFIDDLE

您可以檢查復選框是否被選中,如:

$(document.body).on('change', '#chkID', function () {
        if (this.checked) {
            // CHECK BOX IS CHECKED
        }
        else {
            // CHECK BOX IS NOT CHECKED
        }
    });

演示

嘗試聲明您的函數,而不要使用匿名函數:

function handle_click() {
    alert("clicked");
}

$('#checkbox-id').on('click', handle_click);

$(document).ready(function(){
   if(document.getElementById('checkbox-id').checked){
       handle_click();
   }
});

您可以使用此選項,一旦選中該復選框,就會觸發警報

 $('#checkbox-id').on('click', function () {
                    if ($(this).prop("checked") == true) {
                        alert("clicked");
                    }               
                });

嘗試使用trigger()

$('#checkbox-id').trigger('click');

解決方法不正確的解決方案

 $(document).ready(function(){
   if(document.getElementById('checkbox-id').checked) {
        $('#checkbox-id').click() // getting called but also unchecking checkbox should not uncheck
        $('#checkbox-id').prop('checked', true);
   }
});

暫無
暫無

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

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