2017-06-08 62 views
2

简单的事情!!在asp.net- MVC项目中。我有一个按钮。我有一个外部JavaScript文件mydata.js。在那个文件中包含一个函数checkJS()javascript函数没有响应

function checkJs() 
{ 
    debugger; 
    alert("your output!!!"); 
} 

我的代码:

<div id="mydivid" style="background-color:lightblue;"> 
    STAGE 
</div> 
<input type="button" id="btnid" value="Load Data" /> 

当我点击一个按钮,它只是调用jQuery的点击功能

$(document).ready(function() { 
    $("#btnid").click(function (event) { 
     debugger; 
     $.getScript('mydata.js', function() { 
     // debugger; 
      checkJs(); 
     }); 

    }); 
}); 

我initialy使用1.12.4.js库文件中的头标签
和我在头标签中添加了我的外部js文件。

我的代码有什么问题。为什么按钮点击没有达到外部方法。

+0

“调试器”是否被击中? – haim770

+0

@ haim770外部js文件调试器没有打。 – User6667769

回答

2

1.确保在外部java脚本文件之前添加了jQuery库。

当你确保第一点做象下面这样: -

$(document).ready(function() { 
    $("#btnid").click(function (event) { 
     checkJs(); 
    }); 
}); 

2.如果你想使用$.getScript()然后做象下面这样: -

$(document).ready(function() { 
    $("#btnid").click(function (event) { 
     $.getScript('mydata.js').done(function(data, textStatus) { // check the file path of mydata.js is correct or not? 
     checkJs(); 
     }); 
    }); 
}); 

上面的代码将工作,只有当您在此代码之前添加了jQuery库,并且您从头上移除了外部JavaScript文件路径。

注: -

数据: - 从外部脚本

textStatus返回的数据: - 呼叫像外部脚本(纯文本的地位“成功”)

欲了解更多知识此链接: - jQuery.getScript()

+0

嘿你的代码很好,很简单。我知道它的工作。但我的事这'$ .getScript( 'mydata.js',函数(){// 调试; checkJs(); });'需要这样调用。是任何错误在我的代码 – User6667769

+0

可以ü请告诉我,使用'(脚本,textstatus)' – User6667769

+0

@ User6667769很乐意帮助你:) :) :) –

2

如果您已经包含mydata.js,您可以直接调用您的功能,不需要getScript

如果不是,并且想要与getScript一起做,那么请确保您给出正确的路径,在完成的回调中加载js,如果仍然没有,则检查是否呼叫转到fail回调。

$(document).ready(function() { 
    $("#btnid").click(function (event) { 
     debugger; 

     $.getScript('mydata.js').done(function(data, textStatus, jqxhr) { 
      checkJs(); 
     }).fail(function(){ 
      if(arguments[0].readyState==0){ 
      //script failed to load 
      }else{ 
      //script loaded but failed to parse 
      alert(arguments[2].toString()); 
      } 
     }) 
    }); 
}); 

完成回调有3个参数,其中有以下值。

  1. 数据:已返回的数据(脚本)
  2. textStatus:它返回纯文本格式的状态,例如“成功”
  3. jqxhr:它的jqXHR对象,它是XMLHTTPRequest对象的超集,并具有返回状态码的“status”属性。
+0

嘿而不是把$ .getScript('/ Scripts/jsondata.js',function(script,textStatus){ // debugger; checkJs(); });'我只是喜欢这个'$ .getScript ('/Scripts/jsondata.js',function(jd){debugger; checkJs(); });'我的意思是我为该方法添加了一些参数...可以告诉我,使用'(script,textstatus)' – User6667769

+0

其实你的代码适合我。我的意思是最初的代码。在编辑之前 – User6667769

+0

感谢您宝贵的回复哥们!! – User6667769