所有其他浏览器都可以正常运行。但是,当firefox尝试执行此代码时:
if (!e) var e = window.event;
e.cancelBubble = true;
if (e.stopPropagation) e.stopPropagation();
崩溃,控制台显示以下错误: TypeError:e未定义
编辑1:
function clickInactiveTab() {
$(this).attr({class: "activeTab"});
$(".inactiveTab").hide();
}
function clickX() {
$(this).parent().attr({class: "inactiveTab"});
$(".inactiveTab").show();
if (!e) var e = window.event;
e.cancelBubble = true;
if (e.stopPropagation) e.stopPropagation();
}
它做了什么,单击时更改div的样式并隐藏该类中的所有其他div。当有人点击div中的x时,它应该改回样式并显示隐藏的div。
答案 0 :(得分:2)
未定义,因此将是错误
function clickX(e) { //e needs to be in the arguments as long as the event is attached properly, this will work.
$(this).parent().attr({class: "inactiveTab"});
$(".inactiveTab").show();
e = e || window.event;
e.cancelBubble = true;
if (e.stopPropagation) e.stopPropagation();
}
如果您使用jQuery附加事件,则没有理由对事件或stopPropagation进行检查。