Javascript 无法将属性onclick设置为null
今天我在和一些普通的JS闲逛,对onclick事件有一个问题 最好只显示代码:Javascript 无法将属性onclick设置为null,javascript,events,onclick,Javascript,Events,Onclick,今天我在和一些普通的JS闲逛,对onclick事件有一个问题 最好只显示代码: function _(x) { return document.querySelector(x); } function toggleSlide(el, maxH) { var target = _(el); if(target.style.height == null || target.style.height == maxH+"px") { target.style.tr
function _(x) {
return document.querySelector(x);
}
function toggleSlide(el, maxH) {
var target = _(el);
if(target.style.height == null || target.style.height == maxH+"px") {
target.style.transition = "height 0.3s linear 0s";
target.style.height = "0px";
}else {
target.style.transition = "height 0.3s linear 0s";
target.style.height = maxH+"px";
}
}
如果我将onclick事件添加到按钮,则一切正常,如下所示:
<button id="menu-btn" onclick="toggleSlide('#menu', 280)">Toggle</button>
如何在不在html中添加onclick的情况下访问切换功能?您正在尝试在按钮存在之前添加侦听器。将有问题的代码放在按钮后的一个单独的
中,或放在一个onload中(首选,请参见下面的代码)
编辑:请注意,如果您有多个,它们应该放在同一个onload
函数中,否则最后一个将覆盖以前的函数。我认为如果您使用firebug或类似工具对此进行调试,它可能会给出答案。您的js是否运行onload?如果您的脚本正好包含在结束正文标记之前,则不应该出现此错误。
_('#menu-btn').onclick = function() {
toggleSlide('#menu', 280)
}
window.onload = function() {
_("#menu").onclick = function() {
toggleSlide('#menu', 280);
};
};