我想实现捕获嵌入在里面的框架“aa”的单击事件,但是不能捕获,i不会自动加1。
但我若把捕获点击事件给“bb”,事件能成功,i会自动加1。
请大家帮忙看看是哪的问题!在此多谢了!
<html>
<head></head>
<body>
<font id="bb">红色</font>
<iframe id="aa" src="temp1.jsp"></iframe><script language="javascript">
i=0;
function scall()
{
i=i+1;
}
var btn1Obj = document.getElementById("aa");
if (btn1Obj.addEventListener){
btn1Obj.addEventListener("click",scall,false);
} else if (btn1Obj.attachEvent){
btn1Obj.attachEvent("onclick",scall);
}
</script>
<font onclick="alert(i);">查看计数</font>
</body>
</html>
但我若把捕获点击事件给“bb”,事件能成功,i会自动加1。
请大家帮忙看看是哪的问题!在此多谢了!
<html>
<head></head>
<body>
<font id="bb">红色</font>
<iframe id="aa" src="temp1.jsp"></iframe><script language="javascript">
i=0;
function scall()
{
i=i+1;
}
var btn1Obj = document.getElementById("aa");
if (btn1Obj.addEventListener){
btn1Obj.addEventListener("click",scall,false);
} else if (btn1Obj.attachEvent){
btn1Obj.attachEvent("onclick",scall);
}
</script>
<font onclick="alert(i);">查看计数</font>
</body>
</html>
所以说你将语句绑定在aa的onclick语句柄上是没有效果的
1. 对于初始化的JS代码 应该使用onload事件加载 因为你的JS在页面元素未完全读取完毕就执行。2.在一个页面含有某个iframe,其id="myframe" name="myframe",此时使用document.getelementbyid("myframe")取到的是iframe标签对象,通过该对象可以获取iframe的各个属性,例如src、frameborder、style等等,但是不能获取到iframe所包含的子页面的各个对象。如果使用document.frames("myframe")取到的是iframe组件对象,通过该对象可以获取到iframe所包含的页面的子页面的各个对象修改完的代码如下
<html>
<head>
<script language=javascript>
i=0;
function scall()
{
i=i+1;
}
function init()
{
var btn1Obj = document.frames("aa").document;
if (btn1Obj.addEventListener){
btn1Obj.addEventListener( "click",scall,false);
} else if (btn1Obj.attachEvent){
btn1Obj.attachEvent( "onclick",scall);
}
}
</script>
</head>
<body onload = init();>
<font id= "bb"> 红色 </font>
<iframe id= "aa" src= "temp1.jsp"> </iframe>
<font onclick= "alert(i)"> 查看计数 </font>
</body>
</html>
一个是标签对象 一个是iframe内嵌的对象 这是2个不同对象。修改完的代码
<html>
<head>
<script language=javascript>
i=0;
function scall()
{
i=i+1;
}
function init()
{
var btn1Obj = document.frames("aa").document;
if (btn1Obj.addEventListener){
btn1Obj.addEventListener( "click",scall,false);
} else if (btn1Obj.attachEvent){
btn1Obj.attachEvent( "onclick",scall);
}
}
</script>
</head>
<body onload = init();>
<font id= "bb"> 红色 </font>
<iframe id= "aa" src= "temp1.jsp"> </iframe>
<font onclick= "alert(i)"> 查看计数 </font>
</body>
</html>
一个是标签对象 一个是iframe内嵌的对象 这是2个不同对象。修改完的代码
<html>
<head>
<script language=javascript>
i=0;
function scall()
{
i=i+1;
}
function init()
{
var btn1Obj = document.frames("aa").document;
if (btn1Obj.addEventListener){
btn1Obj.addEventListener( "click",scall,false);
} else if (btn1Obj.attachEvent){
btn1Obj.attachEvent( "onclick",scall);
}
}
</script>
</head>
<body onload = init();>
<font id= "bb"> 红色 </font>
<iframe id= "aa" src= "temp1.jsp"> </iframe>
<font onclick= "alert(i)"> 查看计数 </font>
</body>
</html>
<html>
<head>
<script language= "javascript ">
function scall()
{
alert(frames.length);
}
function init()
{
var btn1Obj = document.frames("aa").document;
if (btn1Obj.addEventListener){
btn1Obj.addEventListener("click",scall,false);
} else if (btn1Obj.attachEvent){
btn1Obj.attachEvent("onclick",scall);
}
}
</script>
</head>
<body onload="init()">
<script>
document.write('<iframe name="aa" src="temp1.jsp"></iframe>');
</script>
</body>
</html>
请管理员查一下。