对jQuery闭包内的函数进行函数调用

时间:2014-06-03 12:00:45

标签: jquery closures

使用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事件附件工作正常,但<a onclick="functionName()">会提供更少的编码(如果它可以正常工作)

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

2 个答案:

答案 0 :(得分:3)

删除`$(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>

答案 1 :(得分:1)

如何准备好使用它?

$(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 );
});