我正在使用这个jQuery来启用页面上的按钮来切换div。
var SnapEnable = document.getElementById('open-right');
$(SnapEnable).addEventListener("click", function() {
if (snapper.state().state == "right") {
snapper.close();
}
else {
snapper.open('right');
}
});
我在IE8中遇到错误,这段代码“对象不支持此属性或方法”。所以我将代码更新到下面: var SnapEnable = document.getElementById('open-right');
if (!SnapEnable.addEventListener) {
$(SnapEnable).attachEvent("onclick", function() {
if (snapper.state().state == "right") {
snapper.close();
}
else {
snapper.open('right');
}
});
}
else {
$(SnapEnable).addEventListener("click", function() {
if (snapper.state().state == "right") {
snapper.close();
}
else {
snapper.open('right');
}
});
};
我认为这样可以解决问题,但我仍然会收到错误。
答案 0 :(得分:5)
您正在检查HTMLElement.prototype.addEventListener
的存在,然后使用$
将其转换为不支持该接口的 jQuery对象。
这是SnapEnable
和$(SnapEnable)
之间的区别。
如果你正在使用 jQuery ,你可能想要.on
答案 1 :(得分:3)
哇... 尝试阅读jQuery的文档(混合使用jQuery和纯js指令)......
(固定)
试试这个:
$('#open-right').click(function(e) {
if (snapper.state().state == "right") {
snapper.close();
}
else {
snapper.open('right');
}
e.preventDefault();
});