jQueryを使って他の要素のイベントハンドラをトリガする方法
jQueryには、要素にアタッチされたイベントハンドラを実行する
trigger()
関数が付属しています。例えば、
シングルクリックイベントは、 “button1″のIDを持つボタンにバインドされます。
$("#button1").bind("click", (function () {
alert("Button 1 is clicked!");
}));
シングルクリックイベントは、 “button2″のIDを持つボタンにバインドされます。ボタン1クリックイベントハンドラを実行するためのトリガ。
$("#button2").bind("click", (function () {
alert("Button 2 is clicked!");
$("#button1").trigger("click");
}));
button2をクリックすると、「
ボタン2をクリック!
」という警告メッセージが表示され、button1の警告メッセージ「
ボタン1をクリック!
」が表示されます。
自分で試してみてください
<html>
<head>
<script type="text/javascript" src="jquery-1.4.2.min.js"></script>
</head>
<body>
<h1>jQuery trigger() example</h1>
<script type="text/javascript">
$(document).ready(function(){
$("#button1").bind("click", (function () {
alert("Button 1 is clicked!");
}));
$("#button2").bind("click", (function () {
alert("Button 2 is clicked!");
$("#button1").trigger("click");
}));
});
</script>
</head><body>
<input type='button' value='Button 1' id='button1'>
<input type='button' value='Button 2' id='button2'>
</body>
</html>