[英]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.