2017-04-06 150 views
-3

我目前正在学习JavaScript。我在Web上没有什么经验。请原谅我这个问题。javascript onclick不能调用函数

我想使用onclick事件来函数。不幸的是,它不加载函数。

<img id="btnPartDispatch" title="sometitle" class="img-rounded" src="~/Content/Images/dashboard/PartDispatch.png" width="115" height="115" onclick="HelloWorld()" /> 

功能是在不同的文件中:

function HelloWorld(){ 
alert"('hello world')" 
} 

但是,如果我改变onclick事件提醒( “Hello World” 的),它工作正常。 是这样的:

<img id="btnPartDispatch" title="sometitle" class="img-rounded" src="~/Content/Images/dashboard/PartDispatch.png" width="115" height="115" onclick="alert('Hello World!')" /> 

有人能告诉我我做错了什么吗? 感谢

获取有关这样的JavaScript文件:

@section scripts 
{ 
    <script type="text/javascript"> 
     var secondsToClosePopup = 1000 * @Functions.GetNumberOfSecondsToClosePopup(); 
    </script> 
    <script type="text/javascript" src="@Url.Content("~/Scripts/jquery.multiple.select.js")"></script> 
    <script type="text/javascript" src="@Url.Content("~/Scripts/service.js")"></script> 
} 

项目是ASP.net

+2

第一个版本应该产生一个'SyntaxError' – Andreas

+0

我们需要知道你是如何在HelloWorld功能导入文件。 – Potray

+0

你必须有,如果作为一个功能。 'alert()'。你也有其他选择。通过Id事件侦听器使用get元素。 –

回答

0

你必须从这个删除双引号:

alert"('hello world')" 

alert('hello world') 
0

alert"('hello world')"将抛出语法错误,因为它必须alert('hello world');


为什么它必须是

alert or window.alert是一个显示浏览器默认对话框的函数。

自一function,你将有其名称后添加()调用它,并通过必要的参数(消息),它预计。因此,alert('hello world')

另外,作为一个方面说明,由于您在HTML中绑定了onclick,请确保在加载DOM之前加载了您的函数。否则它会抛出错误。

+0

我只是想知道这是否应该被视为印刷错误? – Rajesh

+0

我认为它是如何使用函数的一个误解 – Rajesh

+0

@Justinas,我已经更新了你的答案,因为OP是初学者。如果不需要,请将其还原,或者如果有任何信息不正确,请纠正。 :-) – Rajesh

0

你的语法调用警报的方法是错误的。您可以使用它像这样

<html> 
<body> 
<button onclick="HelloWorld()">Click me</button> 
<script> 
function HelloWorld() { 
    alert("Hello World"); 
} 
</script> 
</body> 
</html> 
+0

请参阅其他答案,因为此纠正已在其他答案中解决,这将是重复。会请求您添加其他人未解决的问题或删除您的答案 – Rajesh