<input id=tmp onclick="g('abc')";>
<script>
function g(content)
{
alert(content);
}
</script>

解决方案 »

  1.   

    <input id=tmp onclick="g('abc')";>
    应写成
    <input id=tmp type=button onclick="g('abc')";>
      

  2.   

    <input id=tmp>
    <script>
    function g()
    {
    alert();
    }
    tmp.onclick = g;
    </script>这样写,虽然在<input 中没有写onclick=g(),但是你点击<input的时候照样会执行g()这个函数,相当于把input 的onclick属性(事件)赋值成g这个东西,这样做是可以的,现在的问题是,如果要给g这个函数传递参数,势必需要写g(***),一旦写上这个,当执行tmp.click这条语句的时候自动就调用g(***),这是我不希望的结果,所以想,就这样了我曾经想,定义全局变量来传递参数,但是这种做法很愚蠢:),实在不行,也只有这样了。接着UP,这种写法是不是javascript的正确写法?不太象
      

  3.   

    try it please:<input id='test'/>
    <script>
    var str='hi';
    document.all('test').onclick=function (str) {
    doit(str);
    }
    function doit(str) {
    alert('hi');
    }
    </script>
      

  4.   

    tmp.onclick = new Function("你的函数('要传的参数')");
      

  5.   

    <input id=tmp>
    <script>
    function g(str)
    {
    alert(str);
    }
    tmp.onclick = function anonymous(){g("How are you!")};
    </script> 
      

  6.   

    其实答案我自己找到了,tmp.onclick = function anonymouse(){g("")};类似的写法我觉得不是很好,正确的写法是这个样子的tmp.onclick = Function("g('')");只有一个回答是正确的,而且他的写法里多了一个new,我觉得还不算完全正确,但是那个new的有无不是很重要,所以,给他了