jQuery trigger()で強制的に要素のイベントを発生させるサンプル

環境
Google Chrome 105.0.5195.127
Windows 10 Home 64bit
jquery 3.6.1
書式
$(selector).trigger('event’);
セレクタにtrigger()を指定し、引数にイベントを指定します。
trigger()はスクリプトから強制的に要素のイベントを発生させることができます。
イベントonの定義

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
$('.ボタン1のクラス名').on('click',function(){処理コード})
$('.ボタン2のクラス名').on('click',function(){
$('.ボタン1のクラス名').trigger('click');
})
$('.ボタン1のクラス名').on('click',function(){処理コード}) $('.ボタン2のクラス名').on('click',function(){ $('.ボタン1のクラス名').trigger('click'); })
$('.ボタン1のクラス名').on('click',function(){処理コード})
$('.ボタン2のクラス名').on('click',function(){
      $('.ボタン1のクラス名').trigger('click');
})

ボタン2がクリックされた時にボタン1のクリックイベントを発生させます。

使用例

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.1/jquery.min.js"></script>
<script>
$(document).ready(function(){
$('.btnA').on('click', function(){
alert('検証1がクリックされました!');
});
$('.btnB').on('click', function(){
$('.btnA').trigger('click');
});
});
</script>
</head>
<body>
<div id="app">
<button type="button" class="btnA">検証1</button><br><br>
<button type="button" class="btnB">検証2</button>
</div>
</body>
</html>
<!DOCTYPE html> <html> <head> <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.1/jquery.min.js"></script> <script> $(document).ready(function(){ $('.btnA').on('click', function(){ alert('検証1がクリックされました!'); }); $('.btnB').on('click', function(){ $('.btnA').trigger('click'); }); }); </script> </head> <body> <div id="app"> <button type="button" class="btnA">検証1</button><br><br> <button type="button" class="btnB">検証2</button> </div> </body> </html>
<!DOCTYPE html>
<html>
<head>
<script src="https://ajax.googleapis.com/ajax/libs/jquery/3.6.1/jquery.min.js"></script>
<script>
$(document).ready(function(){
  $('.btnA').on('click', function(){
     alert('検証1がクリックされました!'); 
   });

   $('.btnB').on('click', function(){
    $('.btnA').trigger('click');
   });
   
});
</script>
</head>
<body>

<div id="app">
    <button type="button" class="btnA">検証1</button><br><br>
    <button type="button" class="btnB">検証2</button>
</div>

</body>
</html>

実行結果
「検証1」ボタンを押すと、「検証1がクリックされました!」というメッセージが表示されます。
「検証2」ボタンを押すと、「検証1がクリックされました!」というメッセージが表示されます。

jQuery

Posted by arkgame