大家快来帮帮我,请问在js里能否获得触发onbeforeunload事件的控件ID?

问苍天人生几何 2012-01-19 11:13:59
我想在onbeforeunload函数里获取触发该事件的控件ID,然后再做一些逻辑处理。
...全文
159 7 打赏 收藏 转发到动态 举报
写回复
用AI写文章
7 条回复
切换为时间正序
请发表友善的回复…
发表回复
  • 打赏
  • 举报
回复
[Quote=引用 4 楼 p2227 的回复:]
onclick的时候把控件存起来,onbeforeunload再去读出来。
[/Quote]

怎么存? 关键页面上有很多A Link以及一些Button,这个做法好像不行吧,能不能在JS里用document,event之类的对象来获取(我自己找过没找到)。
p2227 2012-01-19
  • 打赏
  • 举报
回复
onclick的时候把控件存起来,onbeforeunload再去读出来。
  • 打赏
  • 举报
回复
比如说在页面上有一个a link,href指向另一个页面,如果点击该link则当前页面就会转化另一个页面,此时会触发onbeforeunload事件, 我的问题就是在onbeforeunload事件里能否获取到触发该事件的控件ID。
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 p2227 的回复:]
一个控件也有onbeforeunload?那个不是页面的事件吗?
[/Quote]
我可没说一个控件有onbeforeunload事件,我的意思是说我想在onbeforeunload事件里去获取触发该事件的控件ID。
p2227 2012-01-19
  • 打赏
  • 举报
回复
一个控件也有onbeforeunload?那个不是页面的事件吗?
  • 打赏
  • 举报
回复
[Quote=引用 6 楼 p2227 的回复:]
这有什么问题?无论你有多少个控件,同一时间里导致页面unload的只有一个
ff下测试通过

HTML code

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>……
[/Quote]

首先感谢你给了这么详细的例子,我已经明白你的做法了,但是还有一个问题,这些A Link中的onclick都绑定了其他事件,而且这些A link的onclick事件有的放在xml里,有的放在xslt,有的放在cs,有的放在js。改起来就麻烦一些。所以我原本的想法是能不能通过document之类的对象在onbeforeunload里去获取触发该事件的id,这样最省事了,你觉得可行吗?
p2227 2012-01-19
  • 打赏
  • 举报
回复
这有什么问题?无论你有多少个控件,同一时间里导致页面unload的只有一个
ff下测试通过
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html>
<head>

</head>
<body onbeforeunload="obu()" >
<a id="a1" href="http://csdn.net">点击我会离开页面</a><br/>
<a id="a2" href="http://csdn.net">点击我会离开页面</a><br/>
<a id="a3" href="http://csdn.net">点击我会离开页面</a><br/>
<a id="a4" href="http://csdn.net">点击我会离开页面</a><br/>
<a id="a5" href="http://csdn.net">点击我会离开页面</a><br/>
<input id="b1" type="button" value="点击我不会离开页面"/><br/>
<input id="b2" type="button" value="点击我不会离开页面"/><br/>
<input id="b3" type="button" value="点击我不会离开页面"/><br/>
<input id="b4" type="button" value="点击我不会离开页面"/><br/>
<input id="b5" type="button" value="点击我不会离开页面"/><br/>
<script>
var globalobj;
saveobj = function(obj){
globalobj = obj;
}

var aa = document.getElementsByTagName("a");
for(var i=0;i<aa.length;i++){
aa[i].onclick = function(event){
saveobj(this);
}
}

var bb = document.getElementsByTagName("input");
for(var j=0;j<bb.length;j++){
bb[j].onclick = function(event){
saveobj(this);
}
}

obu = function(){
if(globalobj){
alert(globalobj.id);
}
}
</script>

</body>
</html>

87,907

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧