あなたはdocument.createEvent
/initEvent
方法でchange
イベントを作成し、指定checkbox
要素からイベントを送出するためにdispatchEvent
methodを使用することができます。
var event = document.createEvent("HTMLEvents");
event.initEvent('change', false, true);
checkbox.dispatchEvent(event);
この
は、あなたがプログラム的要素の
checked
プロパティを変更し、それによって、イベントリスナを起動します
change
イベントをトリガすることができます。しかし、それはあまりブラウザのサポートを持っている、
var checkbox = document.querySelector('[type="checkbox"]');
var button = document.querySelector('button');
// Event Listener:
checkbox.addEventListener('change', function(event) {
alert(event.target.checked);
});
// Programmatically change the `checked` property:'
button.addEventListener('click', function() {
checkbox.checked = !checkbox.checked;
triggerEvent(checkbox, 'change');
});
function triggerEvent(element, eventName) {
var event = document.createEvent("HTMLEvents");
event.initEvent(eventName, false, true);
element.dispatchEvent(event);
}
<input type="checkbox" />
<button>Programmatically trigger 'change' event</button>
は別の方法として、あなたも
Event()
constructorを使用することができます。
は、ここで基本的な例です。ここで
var event = new Event('change');
checkbox.dispatchEvent(event);
は一例です:
var checkbox = document.querySelector('[type="checkbox"]');
var button = document.querySelector('button');
// Event Listener:
checkbox.addEventListener('change', function(event) {
alert(event.target.checked);
});
// Programmatically change the `checked` property:'
button.addEventListener('click', function() {
checkbox.checked = !checkbox.checked;
triggerEvent(checkbox, 'change');
});
function triggerEvent (element, eventName) {
var event = new Event(eventName);
element.dispatchEvent(event);
}
<input type="checkbox" />
<button>Programmatically trigger 'change' event</button>