从按钮单击事件直接调用存储在外部 JS 文件中的 JavaScript 函数

Posted

技术标签:

【中文标题】从按钮单击事件直接调用存储在外部 JS 文件中的 JavaScript 函数【英文标题】:Directly Calling JavaScript function stored in External JS file from button click event 【发布时间】:2012-03-31 08:54:01 【问题描述】:

我正在使用 C#.NET 2.0。 我已经调用了存储在外部 javascript 文件中的函数。但是,我目前使用的方法是这样的 1) 添加外部 JavaScript 文件引用 例如

2) 在点击事件时调用本地函数 onclick="someFunction();" 此功能(someFuction)存在于设计页面中

3) 然后在这个函数中调用外部 JavaScript 文件中的函数(比如 ABC())。

这可行,但每次都编写 someFunction 会有开销。

有没有办法直接调用函数ABC()形成按钮点击?

提前致谢

【问题讨论】:

【参考方案1】:

Rohan,我猜你说的是一个 ASP.NET 网页,其标头中有一个 JavaScript 块,并且该页面引用了另一个单独的 JavaScript 文件。

如果外部JavaScript文件引用正确,可以直接调用该函数。

例如,假设您引用了一个名为 external.js 的 JavaScript 文件。假设它有一个名为ExternalFunction() 的函数。您可以直接从 html 或 ASP.NET 按钮调用 ExternalFunction(),就像您通常在同一文件中调用函数一样:

例子:

<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="en">
<head runat="server">
    <script type="text/javascript" src="ExternalFile.js"></script>

    <script type="text/javascript">
        // Other local JavaScript code goes here
    </script>
</head>
<body>
    <form runat="server">
    <!-- ASP.NET button control -->
    <asp:Button ID="Button1" runat="server" Text="Button" OnClientClick="ExternalFunction();" />
    <!-- HTML button -->
    <input type="button" onclick="ExternalFunction();" />
</body>
</html>

请注意,对于 JavaScript,ASP.NET 按钮使用 OnClientClick,而 HTML 按钮使用 onclick

【讨论】:

以上是关于从按钮单击事件直接调用存储在外部 JS 文件中的 JavaScript 函数的主要内容,如果未能解决你的问题,请参考以下文章

在外部用户控件上的 aspx 按钮上触发 Click 事件

如何使用 typescript 在外部 js 文件中调用函数

委托与事件

无法在外部单击时关闭带有动态内容的引导弹出窗口 - jquery

防止在外部单击时以弹出模式关闭单元格编辑器

如何在不刷新页面的情况下渲染存储在外部模型中的一段数据?