<SCRIPT type="text/javascript" language="javascript">        function init(){
var vWidth = "100";
var vHeight = "100";
var vImgPath = "1.jpg";
var vonClick = "playVideo";
var vonMouseOver = "playVideo";
var vonMouseOut = "playVideo";document.getElementById("playButton1").width = vWidth ;   //可以显示
document.getElementById("playButton1").height= vHeight ;//可以显示
document.getElementById("playButton1").src = vImgPath ;//可以显示
document.getElementById("playButton1").onClick = vonClick ; //不可以.
document.getElementById("playButton1").onMouseOver = vonMouseOver ;//不可以.
document.getElementById("playButton1").onMouseOut = vonMouseOut ;//不可以.
        }        function playVideo() {
            :
       }
</SCRIPT>
 <BODY onload=init()> 
<IMG src="" name="playButton1" width="" height="" border="0" id="playButton1" onClick="" onMouseOver="" onMouseOut="" class="link"/>
        : 
        :

解决方案 »

  1.   

    var vWidth = "100";
    var vHeight = "100";
    var vImgPath = "1.jpg";
    var vonClick = playVideo;
    var vonMouseOver = playVideo;
    var vonMouseOut = playVideo;document.getElementById("playButton1").width = vWidth ;   //可以显示
    document.getElementById("playButton1").height= vHeight ;//可以显示
    document.getElementById("playButton1").src = vImgPath ;//可以显示
    document.getElementById("playButton1").onclick = vonClick ; //不可以.
    document.getElementById("playButton1").onmouseover = vonMouseOver ;//不可以.
    document.getElementById("playButton1").onmouseout = vonMouseOut ;//不可以.
      

  2.   

    document.getElementById("playButton1").setAttribute("onclick",vonClick);
      

  3.   

    joohnnie() ( ) 信誉:100  2007-8-31 15:18:56  得分: 0  
     var vonClick = playVideo;
     lihui_shine(浪尖赏花) ( ) 信誉:100  2007-08-31 15:34:21  得分: 0  
     var vonClick = playVideo;那如果被调函数有参数该怎么办??
         function playVideo(a) {
                :
           }
      

  4.   

    楼上的不对,
    setAttribute只是给属性赋值,并不能给事件赋值,
      

  5.   

    如果有参数用闭包
    var vonClick = playVideo("t");
    function playVideo(t){
    return funtion (){
    alert(t);
    }
    }
      

  6.   

    怎么会不行呢?
    下面代码IE测试通过<html><head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>new page</title>
    <SCRIPT type="text/javascript" language="javascript">
    function init(){
    var vWidth = "100";
    var vHeight = "100";
    var vImgPath = "1.jpg";
    var vonClick = playVideo("参数1");
    var vonMouseOver = playVideo("参数2");
    var vonMouseOut = playVideo("参数3");document.getElementById("playButton1").width = vWidth ;   //可以显示
    document.getElementById("playButton1").height= vHeight ;//可以显示
    document.getElementById("playButton1").src = vImgPath ;//可以显示
    document.getElementById("playButton1").onclick = vonClick ; //不可以.
    document.getElementById("playButton1").onmouseover = vonMouseOver ;//不可以.
    document.getElementById("playButton1").onmouseout = vonMouseOut ;//不可以.
    }function playVideo(t) {
    return function(){
    alert(t);
    }
    }
    </SCRIPT>
    </head>
    <BODY onload=init()> 
    <IMG src="" name="playButton1" width="" height="" border="0" id="playButton1" onClick="" onMouseOver="" onMouseOut="" class="link"/>
    </body>
    </html>
      

  7.   

    lihui_shine(浪尖赏花) ( ) 信誉:100  2007-08-31 15:34:21  得分: 0  var vonClick = playVideo;document.getElementById("playButton1").onclick = vonClick ;_________________________________________________
    以上成功.
    以下失败.
    ---------------------------   如果有参数用闭包
    var vonClick = playVideo("t");
    function playVideo(t){
    return funtion (){
    alert(t);
    }
    }浪尖兄,这个办法是行的通的.可有参数的办法行不通,还没点击alert(t);  就出来了.再求:
     
     
       
      
      

  8.   

    var vonClick = playVideo("参数1");
    var vonMouseOver = playVideo("参数2");
    var vonMouseOut = playVideo("参数3");你3个用的是同一个函数,onmouseover,鼠标移上去就触发了,还用点吗,呵呵onmouseover 鼠标移上去时触发的事件
    onmouseout 鼠标移开去时触发的事件
      

  9.   

    试试这个,让你看得清楚些<html><head>
    <meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    <title>new page</title>
    <SCRIPT type="text/javascript" language="javascript">
    function init(){
    var vWidth = "100";
    var vHeight = "100";
    var vImgPath = "1.jpg";
    var vonClick = playVideo("单击了");
    var vonMouseOver = playVideo("鼠标移上来了");
    var vonMouseOut = playVideo("鼠标移出去了");document.getElementById("playButton1").width = vWidth ;   //可以显示
    document.getElementById("playButton1").height= vHeight ;//可以显示
    document.getElementById("playButton1").src = vImgPath ;//可以显示
    document.getElementById("playButton1").onclick = vonClick ; //不可以.
    document.getElementById("playButton1").onmouseover = vonMouseOver ;//不可以.
    document.getElementById("playButton1").onmouseout = vonMouseOut ;//不可以.
    }function playVideo(t) {
    return function(){
    document.getElementById("div1").innerHTML=t;
    }
    }
    </SCRIPT>
    </head>
    <BODY onload=init()> 
    <IMG src="" name="playButton1" width="" height="" border="0" id="playButton1" onClick="" onMouseOver="" onMouseOut="" class="link"/>
    <div id=div1></div>
    </body>
    </html>
      

  10.   

    用浪尖兄 的上述方法确实是可以的,但在我这里就是行不通.我的 vonClick 的值,是通过XML里面取出来的. XML相关:
    <ControlDesign>
    <Grouping name="Player" >
    <Passing No="1">
      <onClick>playVideo('mov/s8.wmv')</onClick>
    </Passing>
    </Grouping>
    </ControlDesign>取数据:  JS xmlDoc = new ActiveXObject("Microsoft.XMLDOM"); xmlDoc.load("C:\\design.xml"); var e = xmlDoc.documentElement.selectNodes("/ControlDesign/Grouping"); var Pass = e.item(0).selectNodes("./Passing");var vonClick = Pass[0].selectSingleNode("onClick").text;
      

  11.   

    难到跟循环有关..    干脆把所有的JS代码贴给你.  <Script Language="JavaScript">function init(){ xmlDoc = new ActiveXObject("Microsoft.XMLDOM"); xmlDoc.load("C:\\design.xml"); var e = xmlDoc.documentElement.selectNodes("/ControlDesign/Grouping"); for(i=0;i< e.length ;i++) { var str = e[i].getAttribute("name").toString(); if(str == "Img_Player") { 
     
    var Pass = e.item(i).selectNodes("./Passing"); for(j=0;j< Pass.length ;j++) { var vName = Pass[j].selectSingleNode("Name").text;
     
    var vWidth = Pass[j].selectSingleNode("Width").text;
     
    var vHeight = Pass[j].selectSingleNode("Height").text;
     
    var vImgPath = Pass[j].selectSingleNode("Image").text; var vonClick = Pass[j].selectSingleNode("onClick").text; var vonMouseOver = Pass[j].selectSingleNode("onMouseOver").text; var vonMouseOut = Pass[j].selectSingleNode("onMouseOut").text;<!-- var aaa = playVideo("a");//测试用 --> document.getElementById(vName).width = vWidth ;
    document.getElementById(vName).height= vHeight ;
    document.getElementById(vName).src = vImgPath ;
        <!-- document.getElementById(vName).onclick= aaa ;//测试用 -->
    document.getElementById(vName).onMouseOver = vonMouseOver ;
    document.getElementById(vName).onMouseOut = vonMouseOut ;
    }
    }
    }
    }function playVideo(u) {
    return function(){
    alert(u);          //  加载时,会出来一次,再就报错了.
    <!-- document.getElementById('mediaPlayerObj').filename = u; -->
    }
    }
    function M_Img_Over(Nm_Img,Nm_Jpg){
    return function(){
    alert("M_Img_Over"); document.all(Nm_Img).src = Nm_Jpg ;
    }
    }</Script>
    </HEAD><BODY onload="init()">
       :
       :
       :
    相关XML:
    <?xml version='1.0' encoding='UTF-8'?>
    <ControlDesign>
    <Grouping name="Img_Player" >
    <Passing No="1">
     <Name>s01</Name> 
      <Width>98</Width> 
      <Height>66</Height> 
      <Image>images/s01.jpg</Image> 
      <onClick>playVideo('mov/s1.wmv')</onClick>
      <onMouseOver>M_Img_Over('s01','images/s01b.jpg')</onMouseOver>
      <onMouseOut>M_Img_Over('s01','images/s01.jpg')</onMouseOut>
    </Passing>
    <Passing No="2">
     <Name>s02</Name> 
      <Width>98</Width> 
      <Height>66</Height> 
      <Image>images/s02.jpg</Image> 
      <onClick>playVideo('mov/s2.wmv')</onClick>
      <onMouseOver>M_Img_Over('s02','images/s02b.jpg')</onMouseOver>
      <onMouseOut>M_Img_Over('s02','images/s02.jpg')</onMouseOut>
    </Passing>
    </Grouping>
    </ControlDesign>
      

  12.   

    闭包中或者常参使用:
    obj.onmouseover = function() { playVideo("鼠标移出去了"); };所有情况
    eval("obj.onmouseover = function() { playVideo(\"" + str + "\"); }");
      

  13.   

    但如果参数是对象需要在闭包中,仅适用:
    obj.onmouseover = function() { playVideo(o); };
      

  14.   

    playVideo("单击了");
     playVideo("鼠标移上来了");
     playVideo("鼠标移出去了");我这些值是从XML中读出来的,我怎么设都不行,,再求...
      

  15.   

    <script type="text/javascript">
    window.onload = function () {
    var vWidth = "150";
    var vHeight = "60";
    var vImgPath = "http://www.csdn.net/ui/styles/public_header_footer/logo_csdn.gif";
    var vonClick = playVideo;
    var vonMouseOver = playVideo;
    var vonMouseOut = playVideo;
    Function.prototype.raFunc = function () {
    var wc = this, arg = Array.apply(null, arguments);
    return function () {
    wc.apply(null, arg);
    };
    };

    var playButton1 = document.getElementById("playButton1");

    playButton1.width = vWidth ;   //可以显示
    playButton1.height= vHeight ;//可以显示
    playButton1.src = vImgPath ;//可以显示
    playButton1.onclick = vonClick.raFunc("click") ; //不可以.
    playButton1.onmouseover = vonMouseOver.raFunc("over") ;//不可以.
    playButton1.onmouseout = vonMouseOut.raFunc("out") ;//不可以.
    };
    var playVideo = function () {
    alert("这个是CSDN的LOGO:形式参数个数有 " + arguments.length + " 个\n" + arguments[0]);
    };
    </script>
    <input id="playButton1" type="image" />
      

  16.   

    以上方法,点击事件可以,onmouseover 和 onmouseout  不行..再求?
      

  17.   

    onmouseover 和 onmouseout  不行..再求?
    muxrwc(需时越兔) ( ) 信誉:100 
    playButton1.onmouseover = vonMouseOver.raFunc("img1","img2") ;
    playButton1.onmouseout = vonMouseOut.raFunc("img2","img1") ;
    var playVideo = function () {
    //图片变换;//行不通.
    document.all(arguments[0]).src = arguments[1] ;};浪兄的图片变换也行不通.再求
      

  18.   

    <script type="text/javascript">
    Function.prototype.raFunc = function () {
    var wc = this, arg = Array.apply(null, arguments), obj = arg.shift();
    return function () {
    wc.apply(obj, arg);
    };
    };
    var load_img = {
    imgs : [],
    load : function () {
    return (this.imgs[this.imgs] = (new Image)).src = arguments[0];
    }
    };
    window.onload = function () {
    var vWidth = "150", vHeight = "60"
    , imgs = [
    load_img.load("http://www.csdn.net/ui/styles/public_header_footer/logo_csdn.gif"),
    load_img.load("http://zi.csdn.net/120.60_5.gif")
    ]
    , vonClick = playVideo, vonMouseOver = playVideo, vonMouseOut = playVideo
    , playButton1 = document.getElementById("playButton1");

    playButton1.width = vWidth, playButton1.height = vHeight, playButton1.src = imgs[0]
    , playButton1.onclick = vonClick.raFunc(playButton1, "click")
    , playButton1.onmouseover = vonMouseOver.raFunc(playButton1, imgs[1])
    , playButton1.onmouseout = vonMouseOut.raFunc(playButton1, imgs[0]);
    };
    var playVideo = function (a) {
    if (a != "click") {
    this.src = a;
    } else alert("click");
    };
    </script>
    <input id="playButton1" width="150" height="60" type="image" />
      

  19.   

    <SCRIPT type="text/javascript" language="javascript">        function init(){
    var vWidth = "100";
    var vHeight = "100";
    var vImgPath = "1.jpg";
    //var  vonClick =  playVideo();
    //var vonMouseOver = playVideo();
    //var vonMouseOut = playVideo();document.getElementById("playButton1").width = vWidth ;   //可以显示
    document.getElementById("playButton1").height= vHeight ;//可以显示
    document.getElementById("playButton1").src = vImgPath ;//可以显示
    document.getElementById("playButton1").onclick=playVideo;//不可以.
    document.getElementById("playButton1").onmouseover=playVideo;//不可以.
    document.getElementById("playButton1").onmouseout=playVideo;//不可以.
            }    function playVideo() {
              ...       }</SCRIPT>
     <BODY onload=init()> 
    <IMG src="" name="playButton1" width="" height="" border="0" id="playButton1" onClick="" onMouseOver="" onMouseOut="" class="link"/>
      

  20.   

    很感谢大家,尤其是lihui_shine(浪尖赏花)  和 muxrwc(需时越兔)   这俩位大侠级的人物.但还是搞不懂,这个起什么作用???Function.prototype.raFunc = function () {
    var wc = this, arg = Array.apply(null, arguments), obj = arg.shift();
    return function () {
    wc.apply(obj, arg);
    };
    };学习的路,还很长.