javascript:如何在span中触发单击事件,有点难,高手请进

我想在单击‘我的显示信息’文本的时候触发movediv()事件,怎么有错误?但是当我直接写在onclick后面就没有问题了,这是怎么回事?请高手指教<html><head... 我想在单击‘我的显示信息’文本的时候触发movediv()事件,怎么有错误?
但是当我直接写在onclick后面就没有问题了,这是怎么回事?
请高手指教

<html>
<head>
<script>
function display()
{
document.write("<table name='tabframe'align='center' style='text-align:center;background-color:green;'>");
document.write("<tr><td><input type=button style='color:red;width:200;height:100;border:1px solid #111111' value='div留言' onclick=document.getElementById('divframe').style.display='block'></td></tr></table>");
document.write("<div id='divframe' style='width:500px;height:100px;display:none;position:absolute;background-color:#dddddd;top:200;left:200;'>");
document.write("<table align='center' border=1 style='text-align:center;border:1px solid #aaaaaa '>");
document.write("<tr><td style='text-align:center;'><span onclick=this.movediv();>我的显示信息</span></td></tr>");
document.write("<tr><td>文字</td></tr>");
document.write("<tr><td><span style='cursor:hand;' onclick=document.getElementById('divframe').style.display='none'>[关闭]</td></tr>");
document.write("</table>");
document.write("</div>");
}
function movediv()
{
alert('aa');
}
</script>
</head>
<body onload="display()">
</body>
</html>
onclick='movediv()' 也不能成功

moxiaoxing请把代码贴出来,onclick='movediv();'不通过
展开
 我来答
木马木马吗
推荐于2017-11-25 · 超过34用户采纳过TA的回答
知道答主
回答量:126
采纳率:0%
帮助的人:62.4万
展开全部
首先你查看一下js错误,movediv()未定义,然后查看一下源文件就明白是怎么回事了,document.write将重新生成HTML源码,以前的代码已经丢失,所以我给你改写了一下;
还有"this.movediv()"的"this"是错误的,去掉;
修改后的代码如下,希望对你有用:

<html>
<head>
<script>
function display()
{
var ss="<table name='tabframe'align='center' style='text-align:center;background-color:green;'>";
ss+="<tr><td><input type=button style='color:red;width:200;height:100;border:1px solid #111111' value='div留言' onclick=document.getElementById('divframe').style.display='block'></td></tr></table>";
ss+="<div id='divframe' style='width:500px;height:100px;display:none;position:absolute;background-color:#dddddd;top:200;left:200;'>";
ss+="<table align='center' border=1 style='text-align:center;border:1px solid #aaaaaa '>";
ss+="<tr><td style='text-align:center;'><span onclick=movediv();>我的显示信息</span></td></tr>";
ss+="<tr><td>文字</td></tr>";
ss+="<tr><td><span style='cursor:hand;' onclick=document.getElementById('divframe').style.display='none'>[关闭]</td></tr>";
ss+="</table>";
ss+="</div>";
window.document.body.innerHTML+=ss;
/*
document.write("<table name='tabframe'align='center' style='text-align:center;background-color:green;'>");
document.write("<tr><td><input type=button style='color:red;width:200;height:100;border:1px solid #111111' value='div留言' onclick=document.getElementById('divframe').style.display='block'></td></tr></table>");
document.write("<div id='divframe' style='width:500px;height:100px;display:none;position:absolute;background-color:#dddddd;top:200;left:200;'>");
document.write("<table align='center' border=1 style='text-align:center;border:1px solid #aaaaaa '>");
document.write("<tr><td style='text-align:center;'><span onclick=this.movediv();>我的显示信息</span></td></tr>");
document.write("<tr><td>文字</td></tr>");
document.write("<tr><td><span style='cursor:hand;' onclick=document.getElementById('divframe').style.display='none'>[关闭]</td></tr>");
document.write("</table>");
document.write("</div>");
*/
}
function movediv()
{
alert('aa');
}
</script>
</head>
<body onload="display()">

</body>
</html>
贲亭晚呼诗
2019-06-28 · TA获得超过3.6万个赞
知道大有可为答主
回答量:1.3万
采纳率:25%
帮助的人:878万
展开全部
首先你查看一下js错误,movediv()未定义,然后查看一下源文件就明白是怎么回事了,document.write将重新生成HTML源码,以前的代码已经丢失,所以我给你改写了一下;还有“this.movediv()“的“this“是错误的,去掉;修改后的代码如下,希望对你有用:amp;lt;htmlamp;gt;nbsp;amp;lt;headamp;gt;nbsp;amp;lt;scriptamp;gt;nbsp;functionnbsp;display()nbsp;{nbsp;varnbsp;ss=“amp;lt;tablenbsp;name=‘tabframe‘align=‘center‘nbsp;style=‘text-align:center;background-color:green;‘amp;gt;“;ss+=“amp;lt;tramp;gt;amp;lt;tdamp;gt;amp;lt;inputnbsp;type=buttonnbsp;style=‘color:red;width:200;height:100;border:1pxnbsp;solidnbsp;#111111‘nbsp;value=‘div留言‘nbsp;onclick=document.getElementById(‘divframe‘).style.display=‘block‘amp;gt;amp;lt;/tdamp;gt;amp;lt;/tramp;gt;amp;lt;/tableamp;gt;“;ss+=“amp;lt;divnbsp;id=‘divframe‘nbsp;style=‘width:500px;height:100px;display:none;position:absolute;background-color:#dddddd;top:200;left:200;‘amp;gt;“;ss+=“amp;lt;tablenbsp;align=‘center‘nbsp;border=1nbsp;style=‘text-align:center;border:1pxnbsp;solidnbsp;#aaaaaanbsp;‘amp;gt;“;ss+=“amp;lt;tramp;gt;amp;lt;tdnbsp;style=‘text-align:center;‘amp;gt;amp;lt;spannbsp;onclick=movediv();amp;gt;我的显示信息amp;lt;/spanamp;gt;amp;lt;/tdamp;gt;amp;lt;/tramp;gt;“;ss+=“amp;lt;tramp;gt;amp;lt;tdamp;gt;文字amp;lt;/tdamp;gt;amp;lt;/tramp;gt;“;ss+=“amp;lt;tramp;gt;amp;lt;tdamp;gt;amp;lt;spannbsp;style=‘cursor:hand;‘nbsp;onclick=document.getElementById(‘divframe‘).style.display=‘none‘amp;gt;[关闭]amp;lt;/tdamp;gt;amp;lt;/tramp;gt;“;ss+=“amp;lt;/tableamp;gt;“;ss+=“amp;lt;/divamp;gt;“;window.document.body.innerHTML+=ss;/*document.write(“amp;lt;tablenbsp;name=‘tabframe‘align=‘center‘nbsp;style=‘text-align:center;background-color:green;‘amp;gt;“);nbsp;document.write(“amp;lt;tramp;gt;amp;lt;tdamp;gt;amp;lt;inputnbsp;type=buttonnbsp;style=‘color:red;width:200;height:100;border:1pxnbsp;solidnbsp;#111111‘nbsp;value=‘div留言‘nbsp;onclick=document.getElementById(‘divframe‘).style.display=‘block‘amp;gt;amp;lt;/tdamp;gt;amp;lt;/tramp;gt;amp;lt;/tableamp;gt;“);nbsp;document.write(“amp;lt;divnbsp;id=‘divframe‘nbsp;style=‘width:500px;height:100px;display:none;position:absolute;background-color:#dddddd;top:200;left:200;‘amp;gt;“);nbsp;document.write(“amp;lt;tablenbsp;align=‘center‘nbsp;border=1nbsp;style=‘text-align:center;border:1pxnbsp;soli
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
moxiaoxing
2008-05-14
知道答主
回答量:32
采纳率:0%
帮助的人:18.3万
展开全部
<span onclick='movediv();'>
是可以的,我已经测试通过.
这里提醒你一下,要知道this的意思.
你用this 则指向了span本身,span本身没有movediv的方法,自然会报错.所以直接用movediv调用函数即可.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
到茧照
2008-05-14 · TA获得超过1901个赞
知道大有可为答主
回答量:1589
采纳率:0%
帮助的人:1987万
展开全部
<span onclick=movediv()>我的显示信息</span>

<span onclick='movediv()'>我的显示信息</span>

就OK了.不用写成this.movediv();
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(2)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式