怎样动态添加js的function

miaoliujun 2005-10-31 05:01:39
可以通过
document.body.innerHTML += "test";
的方式来添加body里的内容

请问可以也象这样动态添加js,比如增加一个function

我现在遇到的case是这样的,我想知道swf是什么时候被关闭的,但我一直没有找到怎么确定关闭SWF的那一点,所以,我想用关闭html这一点来得到这个时间点。

现在的需求是我无法去修改HTML,但可以修改swf,也就是我在SWF中动态的创建一个onUnload或者onBeforeUnload的事件出来。
...全文
629 20 打赏 收藏 转发到动态 举报
写回复
用AI写文章
20 条回复
切换为时间正序
请发表友善的回复…
发表回复
krfstudio 2005-11-09
  • 打赏
  • 举报
回复
用 behavior 吧,可以动态绑定的,你试试动态绑定一个包含事件定义的 HTC 到某个对象。
qidizi 2005-11-09
  • 打赏
  • 举报
回复
啊,说错话了,真笨!
qidizi 2005-11-09
  • 打赏
  • 举报
回复
做这个标准的人真是猪,为什么不会按笔画加拼音来做呢,这样的话,只要一二句就可以搞定排序了,还很好用,
qidizi 2005-11-09
  • 打赏
  • 举报
回复
<script前一定要有一个不是它的对象,文本什么的,空格不行,可以转义的,放在后面就不行,好象要是只有它开头这个动作就不会发生?

<HTML>
<SCRIPT>
function insertScript(){
ScriptDiv.innerHTML = "<br><script defer>alert();</script" + ">";;
}
</SCRIPT>
<BODY >
<input type=button onclick="insertScript();">
<DIV ID="ScriptDiv"></DIV>
</BODY>
</HTML>
miaoliujun 2005-11-08
  • 打赏
  • 举报
回复
我需要动态创建事件,但事件引用的函数也是动态创建的
miaoliujun 2005-11-07
  • 打赏
  • 举报
回复
我的理解,你们的回答都是在同一个html里处理这个,那这个就好象不是动态创建了,因为你本身就存在了这个函数

这个回答对我很有意义:
onload/onunload/onbeforeunload
事件是window对象初始化时绑定的,不能动态添加

再等等有没有其他的建议
krfstudio 2005-11-07
  • 打赏
  • 举报
回复
楼主到底是要动态创建事件还是函数或是其他什么东西?没搞懂楼主的意思。

如果是要动态创建函数的话,用 new Function(str) 应该可以的。直接写 function() {} 的话也只是创建一个 Function 对象而已。使用 new Function 创建好 Function 对象后就可以动态绑定到某个对象的某个事件上了。
okie-dokie 2005-11-05
  • 打赏
  • 举报
回复
作用是把字符串当脚本语句执行
okie-dokie 2005-11-05
  • 打赏
  • 举报
回复
有一个eval(codestr)函数(没记错的话是 eval),试试
参数 codestr 是脚本语句
seeu1688 2005-11-05
  • 打赏
  • 举报
回复
不行

onload/onunload/onbeforeunload
事件是window对象初始化时绑定的,不能动态添加
krfstudio 2005-11-04
  • 打赏
  • 举报
回复
楼主是要这个吗?

var a = new Function("return false;");

<=>

function a() { return false; }
friendlyFour 2005-11-04
  • 打赏
  • 举报
回复
<%
if then
'加js
%>

<%
else
'不加js
%>
<%
end if
%>
xuzuning 2005-11-04
  • 打赏
  • 举报
回复
什么叫“动态加进去的”?
eval('函数定义串'); ??
miaoliujun 2005-11-03
  • 打赏
  • 举报
回复
谢谢楼上,
不是
你这个还是预先已经写好了JS,我的意思是这个JS是动态加进去的
Layout 2005-11-02
  • 打赏
  • 举报
回复
如果是针对某个对象的方法的话可以这样来做:
<script>
function test()
{
document.getElementById("testButton").onclick=function(){alert('you clicked me');}
}
</script>
<body onload='test()'>
<input type='button' id='testButton' value='click me!!!'>
类推,所有可以标记id的element都可以这样加上事件,当然也可以body.onload=function....
不知道是不是你想要的东东.
miaoliujun 2005-11-01
  • 打赏
  • 举报
回复
可以用document.createElement("script")吗?
jFresH_MaN 2005-11-01
  • 打赏
  • 举报
回复
应该是实现不了的吧?
miaoliujun 2005-11-01
  • 打赏
  • 举报
回复
有其他的建议吗?
miaoliujun 2005-10-31
  • 打赏
  • 举报
回复
我也只是问问,可不可以

因为直接写function,我验证的结果是直接执行了
hbhbhbhbhb1021 2005-10-31
  • 打赏
  • 举报
回复
这个也可以改?那编译器不是乱了,没试过可不可以改,不过可以读,function你写上不调用,又不会执行。

<script language=javascript>
function add()
{
alert("hbhbhbhbhb1021")
}
</script>
<script language=javascript>
var obj=document.getElementsByTagName("script")
alert(obj[0].innerHTML);
</script>

87,910

社区成员

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

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