HTML中onbeforeunload事件失效问题求助
嘿,我来帮你排查下这个onbeforeunload事件失效的问题~你的代码里有几处语法错误,这就是导致事件不工作的原因,具体来看:
问题1:事件绑定的语法完全错了
你写的 <body> onbeforeunload{ return"dontgo()"; } 不符合HTML事件属性的写法规范。HTML元素的事件属性必须直接写在对应的标签内部,用属性赋值的形式,正确的写法是把onbeforeunload作为<body>的属性,值是要执行的JS代码。
问题2:JavaScript函数的语法不完整
你的dontgo函数缺少了关键的大括号,而且返回语句的写法也不够规范(虽然返回值本身没问题,但函数结构必须完整)。
修复后的完整代码
<body onbeforeunload="return dontgo()"> <script> function dontgo() { return "are you sure you want to leave"; } </script> </body>
额外提醒
还有个小细节要注意:现在主流浏览器(比如Chrome、Firefox)都会忽略你自定义的提示文本,只会显示浏览器自带的默认离开确认框,但这不影响事件本身的触发逻辑——修复后,用户尝试关闭页面或跳转时,确认提示会正常弹出来。
内容的提问来源于stack exchange,提问作者L.M
相关产品推荐
相关产品推荐

