从javascript调用Jquery函数

如何从javascript调用jQuery函数?

//jquery $(function() { function my_fun(){ /.. some operations ../ } }); //just js function js_fun () { my_fun(); //== call jquery function } 

你不能。

 function(){ function my_fun(){ /.. some operations ../ } } 

这是一个关闭。 my_fun()仅在该匿名函数内部定义。 如果您在正确的范围级别(即全局my_fun()声明它,则只能调用my_fun()

$(function () {/* something */})是一个IIFE,意味着它在DOM准备好后立即执行。 通过在该匿名函数中声明my_fun() ,可以防止脚本的其余部分“看到”它。

当然,如果要在DOM完全加载时运行此函数,则应执行以下操作:

 function my_fun(){ /* some operations */ } $(function(){ my_fun(); //run my_fun() ondomready }); // just js function js_fun(){ my_fun(); //== call my_fun() again } 

是的,你可以(这是我理解原始问题的方式)。 我是这样做的。 只需将其与外部环境联系起来。 例如:

 //javascript my_function = null; //jquery $(function() { function my_fun(){ /.. some operations ../ } my_function = my_fun; }) //just js function js_fun () { my_function(); //== call jquery function - just Reference is globally defined not function itself } 

我在尝试访问对象的方法时遇到了同样的问题,该方法仅在DOM对象就绪时实例化。 作品。 我的例子:

 MyControl.prototype = { init: function { // init something } update: function () { // something useful, like updating the list items of control or etc. } } MyCtrl = null; // create jquery plug-in $.fn.aControl = function () { var control = new MyControl(this); control.init(); MyCtrl = control; // here is the trick return control; } 

现在你可以使用简单的东西:

 function() = { MyCtrl.update(); // yes! } 
 var jqueryFunction; $().ready(function(){ //jQuery function jqueryFunction = function( _msg ) { alert( _msg ); } }) //javascript function function jsFunction() { //Invoke jQuery Function jqueryFunction("Call from js to jQuery"); } 

http://www.designscripting.com/2012/08/call-jquery-function-from-javascript/

   

jQuery函数就像JavaScript函数一样被调用。

例如,使用jQuery addClass函数动态地将类“red”添加到id为“orderedlist”的document元素:

 $("#orderedlist").addClass("red"); 

与调用常规函数的常规JavaScript相反:

 var x = document.getElementById("orderedlist"); 

addClass()是一个jQuery函数,getElementById()是一个JavaScript函数。

美元符号函数使jQuery addClass函数可用。

唯一的区别是jQuery示例调用jQuery对象$(“#orderedlist”)的addclass函数,而常规示例调用文档对象的函数。

在你的代码中

 $(function() { // code to execute when the DOM is ready }); 

用于指定在DOM准备好时运行的代码。

它没有区分(你可能认为)什么是常规JavaScript代码中的“jQuery代码”。

因此,要回答您的问题,只需按照惯例调用您定义的函数即可。

 //create a function function my_fun(){ // call a jQuery function: $("#orderedlist").addClass("red"); } //call the function you defined: myfun(); 

我做到了…

我只是写

  jQuery('#container').append(html) 

代替

  document.getElementById('container').innerHTML += html; 

// javascript函数调用jquery函数

//在javascript部分

 function js_show_score() { //we use so many javascript library, So please use 'jQuery' avoid '$' jQuery(function(){ //Call any jquery function show_score(); //jquery function });(jQuery); } 

//在Jquery部分

 jQuery(function(){ //Jq Score function function show_score() { $('#score').val("10"); } });(jQuery); 

我的问题是我从长角度看它:

 function new_line() { var html= '

'; document.getElementById("container").innerHTML += html; $('#dateP_'+i).datepicker({ showOn: 'button', buttonImage: 'calendar.gif', buttonImageOnly: true }); i++; }