1. ホーム
  2. jquery

[解決済み] jQueryで.propを変更しても.changeイベントが発生しない

2022-05-14 07:40:32

質問

チェックボックスのイベントリスナーを作成しました。

<input type="checkbox" name="something">

私のイベントリスナーです。

$('input[type="checkbox"][name="something"]').change(function() { 
    //DO SOMETHING 
});

別のイベントリスナーで .prop を変更する別のイベントリスナーがあります。

$('#button').click(function() { 
    $('input[type="checkbox"][name="something"]').prop("checked", false);
});

チェックボックスにチェックを入れると DO SOMETHING をトリガーにします。をクリックすると #button をクリックすると .prop が変化し、チェックボックスのチェックが視覚的に外れるのがわかりますが DO SOMETHING はトリガーされない...。

何か見落としがあるのでしょうか?

どのように解決するのですか?

Changeイベントは、ページ上でのユーザーの操作によって値が変更されたときに発生し、コードを使用して値が変更されたときには発生しません。

ここでは .change() または .trigger("change") に変更した後

$('input[type="checkbox"][name="something"]').prop("checked", false).change();

動作デモ