而不是你的JavaScript调用直接操作数据在文本框内,而不是路由内部动作功能都将替换/追加数据和编程同步触发您的onChange功能。
举例来说,如果你有一个flash动画,并给该对象和嵌入同一ID例如:
<object ID="myMovie" CLASSID="clsid:D27CDB6E-AE6D-11cf-96B8-444553540000" WIDTH="230" HEIGHT="50" CODEBASE="download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=7,0,0,0">
<PARAM NAME="MOVIE" VALUE="some.swf">
<param NAME="PLAY" VALUE="true">
<param NAME="LOOP" VALUE="false">
<param NAME="QUALITY" VALUE="high">
<param NAME="MENU" VALUE="false">
<param NAME="WMODE" VALUE="transparent">
<embed ID="myMovie" wmode="transparent" SRC="some.swf" WIDTH="230" HEIGHT="50" PLAY="true" LOOP="false" QUALITY="high" MENU="false" TYPE="application/x-shockwave-flash" PLUGINSPAGE="www.macromedia.com/shockwave/download/index.cgi?P1_Prod_Version=ShockwaveFlash">
</embed>
</object>
然后,您可以触发动作的功能,并使用一个简单的JavaScript,如改变闪光的内部变量:
function changeTheField(incomingText) {
var controlledMovie = document.myMovie;
controlledMovie.SetVariable("_root.myTextAreaConents", incomingText);
}
现在,您可以轻松地将监听器附加到上述示例中的变量'myTextAreaConents',并等待更改。此时它将启动一个函数来将变量的新内容填入文本区域。
你是什么意思,该值是通过JavaScript的改变?你想通过JavaScript更改flashvars吗? – poke 2010-02-03 11:45:21