从jquery里面的另一个javascript调用函数

时间:2016-11-10 10:24:54

标签: javascript jquery html

我有一个名为loader.js的Javascript文件,其中包含一个名为initialize()的函数。我想通过jQuery调用这个函数。这是我的HTML文件:



<!DOCTYPE html>
    <html>
        <head>
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js"></script>
        <script src="loader.js" ></script>
    	 <script type="text/javascript">
    	 jQuery(document).ready(function() {
    	 jQuery(document).on("click", ".link", function(e) {
            e.preventDefault();
    		var a= $(this).text();
    		 window.initialize= function{
    		 };
    		initialize(a);
    		
    		 
    		 });
    		 });
    	 
         
    	
    	</script>
        </head>
        <body >
    	<h1>welcome to my website </h1>
    	<a href="#" class="link"> link1 </a>
    	<a href="#" class="link"> link2 </a>
        <div id="main">
    	
    	</div>
        </body>
    </html>
&#13;
&#13;
&#13;

这是loader.js:

 function initialize(a) {
    $('#main').html= a;
         }

我不知道这个脚本有什么问题,我已经调试了jquery工作正常但功能无法正常工作。
我也希望每当再次点击该功能时,div应该刷新,例如首先它包含link1但是当点击link2时,应该在div中删除link1我该怎样才能完成这个任务????

提前致谢

2 个答案:

答案 0 :(得分:1)

您没有包含加载程序脚本。在jQuery代码之前添加<script src='loader.js'></script>

loader.js中的代码应该在jQuery(document).ready回调中,因为它现在使用jquery(html方法)。

同样,@jiihoo指出你应该使用$('#main').html(a);代替$('#main').html = a;

答案 1 :(得分:0)

您应该将loader.js的代码更改为此。

    function initialize(a) {
        $('#main').html(a);
    }

你可以做的全部事情。

HTML

    <!DOCTYPE html>
    <html>
    <head>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/3.1.1/jquery.min.js">    </script>
    <script src="loader.js"></script>
    </head>
    <body >
    <h1>welcome to my website </h1>
    <a href="#" class="link"> link1 </a>
    <a href="#" class="link"> link2 </a>
    <div id="main"></div>
    </body>
    </html>

Loader.js

    jQuery(document).ready(function() {
      jQuery(document).on("click", ".link", function(e) {
        e.preventDefault();
        var a = $(this).text();
        initialize(a);
      });
    });

  function initialize(a) {
    $('#main').html(a);
  }