【问题标题】:Make a function call to functions inside jQuery closure对 jQuery 闭包中的函数进行函数调用
【发布时间】:2014-06-03 12:00:44
【问题描述】:

使用 HTML 和 JavaScript 时,我只需使用

从我的 <a> 标记调用一个函数
<a href="#" onclick="helloWorld()">Hello World</a>

我还想进行 AJAX 调用,这样使用 jQuery 就更容易了,但我也想等到 DOM 完成加载,所以我在 jQuery 闭包中声明我的函数。

<a href="#" onclick="helloWorld()">Hello World</a>
<br>
<a href="#" onclick="ajaxCall()">Make AJAX Call</a>

<script>
    function helloWorld() {
        alert('Hello World');
    }

    $(function() {
        function ajaxCall() {
            alert('AJAX Call');
        }
    });
</script>

第一个链接有效,但第二个无效,我应该如何修复它? 请指教。 谢谢。

已编辑

jQuery 事件附件工作正常,但 &lt;a onclick="functionName()"&gt; 提供的编码更少(如果可以工作的话)

很抱歉我忘了提及我不是在寻找 jQuery 事件附件。

【问题讨论】:

    标签: jquery closures


    【解决方案1】:

    删除`$(function() {。因为它在您使用jQuery时使用。

    <script>
            function helloWorld() {
                alert('Hello World');
            }
    
                function ajaxCall() {
                    alert('AJAX Call');
                }
        </script>
    
        <a href="#" onclick="helloWorld()">Hello World</a>
        <br>
        <a href="#" onclick="ajaxCall()">Make AJAX Call</a>
    

    【讨论】:

      【解决方案2】:

      准备好使用它怎么样?

      $(document).ready(function(){
      
        // function declaration:
        function ajaxCall() {
          alert('AJAX Call');
        }
      
        // call the function using delegation because you use ajax call
        $( document ).on( 'click','#ajax',ajaxCall );
      });
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2014-02-21
        • 2016-05-02
        • 1970-01-01
        • 2019-05-31
        • 1970-01-01
        • 1970-01-01
        • 2014-09-13
        • 1970-01-01
        相关资源
        最近更新 更多