Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/neo4j/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 调用事件处理程序不会';好像不行_Javascript - Fatal编程技术网

Javascript 调用事件处理程序不会';好像不行

Javascript 调用事件处理程序不会';好像不行,javascript,Javascript,我有可折叠物品的代码 var coll = document.getElementsByClassName("collapsible"); for (var i = 0; i < coll.length; i++) { coll[i].addEventListener("click", function() { this.classList.toggle("active");

我有可折叠物品的代码

var coll = document.getElementsByClassName("collapsible");

for (var i = 0; i < coll.length; i++) {
    coll[i].addEventListener("click", function() {        
        this.classList.toggle("active");
        var p = this.nextElementSibling;
        if (p.style.maxHeight){
            p.style.maxHeight = null;
        } else {
            p.style.maxHeight = p.scrollHeight + "px";
        } 
    });
    if (window.screen.availWidth >= 768) coll[i].onclick.apply(coll[i]);
}
var coll=document.getElementsByClassName(“可折叠”);
对于(变量i=0;i=768)coll[i].onclick.apply(coll[i]);
}
最后一行用于自动展开较大屏幕上的所有可折叠文件。但这给了我一个错误:

未捕获类型错误:无法读取null的属性“apply”


如何修复此问题?

coll[I]。onclick为null,onclick是事件而不是函数,因此您希望在此处使用click函数

不确定通过将coll[i]作为这个for click函数传递,您想要实现什么。但是试试看:

coll[i].click.apply()
或更简单:

coll[i].click()

我的猜测是coll[i].onclick没有定义。您定义了一个不同的事件侦听器。首先,
document.addEventListener
不是
document.onEvent
。。它们是两个不同的东西。。添加一个事件监听器可以被应用,OneEvent仍然是空的。谢谢,这是有效的。旧代码是我在这里看到的: