2013-08-20 28 views
0

HTML为什么这不onclick JavaScript调用工作?

<div id="test"></div> 
<input type="button" value="Go" onclick="test()" /> 

的JavaScript

function test() { 
    alert("Test!"); 
} 

小提琴

http://jsfiddle.net/MVBrS/11/

+2

'不循环 - 在'。 http://jsfiddle.net/MVBrS/12/ – elclanrs

+0

这样做,但没有包装 - 在'做到了什么? –

+2

其他选项将代码封装在闭包中,以便您的函数在全局范围内不可用。最好的方法是在JavaScript_中附加事件,而不是在标记中。寻找'addEventListener'。 – elclanrs

回答

0

请看看这一个,它是关于的jsfiddle代码框架分离:

Inline event handler not working in JSFiddle

当然,如果您运行的是嵌入在普通HTML中的相同代码,它将正常运行,并且会显示警报弹出窗口。

<!DOCTYPE html> 
    <html> 
    <head> 
     <script> 
     function test() { 
      alert("Test!"); 
     } 
     </script> 
    </head> 
    <body> 
     <div id="test"></div> 
     <input type="button" value="Go" onclick="test()" /> 
    </body> 
    </html> 
-2

当你做

onclick="test()" 

作为输入要素的属性,你的单击事件处理程序

设置呼叫测试(结果)(在你的案件“空”)

你可能想这样做

onclick="test" 

代替,这将设置实际的“测试”功能的处理程序,

甚至更​​好,遵循以下原则:unbtrusive javascriptunobtrusive JS (2),..你明白了吧;)