选中复选框并触发更改事件javascript

选中复选框并触发更改事件javascript,javascript,checkbox,Javascript,Checkbox,我想触发更改事件并选中来自javaScript而非jQuery的复选框 因此,我对jQuery有问题。 我以前对jQuery所做的是: $('#laneFilter').prop('checked','true').trigger('change'); 我想用javaScript做同样的事情。这一定很简单,但我找不到路。 请提前帮忙谢谢 <input type="checkbox" id="laneFilter"/> <script> checkbox =

我想触发更改事件并选中来自javaScript而非jQuery的复选框
因此,我对jQuery有问题。
我以前对jQuery所做的是:

$('#laneFilter').prop('checked','true').trigger('change');
我想用javaScript做同样的事情。这一定很简单,但我找不到路。 请提前帮忙谢谢


<input type="checkbox" id="laneFilter"/>
<script> 
    checkbox = document.getElementById("laneFilter");
    checkbox.onclick = function(){ 
        alert('lol');
    };
    checkbox.checked = true;
</script>
复选框=document.getElementById(“laneFilter”); checkbox.onclick=function(){ 警报(“lol”); }; checkbox.checked=true;

也应该可以

有几种方法可以做到这一点。最简单的方法是只调用该函数:

var Chkinput = document.getElementById("laneFilter");
Chkinput .onchange();
如果需要它完全模拟真实事件,或者通过html属性或
addEventListener
/
attachEvent
设置事件,则需要执行一些功能检测以正确触发事件:

if ("createEvent" in document) {
    var evt = document.createEvent("HTMLEvents");
    evt.initEvent("change", false, true);
    element.dispatchEvent(evt);
}

我把它减到2,然后就可以了

$('#laneFilter').prop('checked','true');
$('#laneFilter').trigger('change');

只需调用不带参数的change函数

$('#laneFilter').change('change', function(){
        debugger
        ...
}).change();

它在“jquery”中起作用:“3.3.1”

仅当通过设置元素的onchange属性注册事件侦听器时,所选答案才会起作用

如果不是这样,您可以使用:

    let element = document.getElementById('laneFilter');
    let event = new Event('change');
    element.dispatchEvent(event);

问题说不要使用jQuery。问题明确说明不要使用jQuery。