我需要使用js实现一个功能,在iframe的页面中。点击链接后弹出div,再点击页面中的任何一个地方移除div...
现在的问题按以下所写的代码只能响应链接点击的事件,而无法响应页面其它地方的事件。请指教。我另一段代码不是在iframe中的没问题。
代码如下:(以下代码全部放在iframe的页面中.)
/*
*函数功能:动态添加事件
*参数说明:依次-事件源元素对象,事件类型(如click不带on),事件响应函数)
*调用举例:addEvent(window, "load", init);
*/
function addEvent(elm, evType, fn)
{
if (elm.addEventListener){
elm.addEventListener(evType, fn, false);
return true;
} else if (elm.attachEvent){
var r = elm.attachEvent("on" + evType, fn);
return r;
} else {
return false
}
}
//响应点击事件,显示或是关闭窗口
function sendmessage(a,ev)
{
if (document.getElementById('div_tip'))
document.getElementById('div_tip').parentNode.removeChild(document.getElementById('div_tip'));
else
{
div=document.createElement("div");
div.id="div_tip";
div.style.cssText="position:absolute;background:#fff;border:1px solid #444;width:100px;height:50px;z-index:3px;"
div.style.top=ev.pageY;
div.style.left=ev.pageX;
document.body.appendChild(div);
}
}
//给网页增加点击事件
function mesgdiv(a,ev)
{
addEvent(window,"click",sendmessage(a,ev));
}
//以下为body中使用
<body>
<a onclick="mesgdiv(this,event)" href="#">showbox</a>
</body>
/*
*函数功能:动态添加事件
*参数说明:依次-事件源元素对象,事件类型(如click不带on),事件响应函数)
*调用举例:addEvent(window, "load", init);
*/
function addEvent(elm, evType, fn)
{
if (elm.addEventListener){
elm.addEventListener(evType, fn, false);
return true;
} else if (elm.attachEvent){
var r = elm.attachEvent("on" + evType, fn);
return r;
} else {
return false
}
}
//响应点击事件,显示或是关闭窗口
function sendmessage(a,ev)
{
alert("this a test.");
}
//给网页增加点击事件
function mesgdiv(a,ev)
{
addEvent(window,"click",sendmessage(a,ev));
}
//以下为body中使用
<body>
<a onclick="mesgdiv(this,event)" href="#">showbox</a>
</body>
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。