Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
从javascript调用Jquery函数_Javascript_Jquery - Fatal编程技术网

从javascript调用Jquery函数

从javascript调用Jquery函数,javascript,jquery,Javascript,Jquery,如何从javascript调用jQuery函数 //jquery $(function() { function my_fun(){ /.. some operations ../ } }); //just js function js_fun () { my_fun(); //== call jquery function } 你不能 function(){ function my_f

如何从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()
时,才能调用它

$(function(){/*something*/})
是一个IIFE,这意味着它在DOM就绪时立即执行。通过在匿名函数中声明
my\u 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
}

jQuery函数的调用与JavaScript函数一样

例如,要使用jQuery addClass函数将类“red”动态添加到id为“orderedlist”的文档元素中,请执行以下操作:

$("#orderedlist").addClass("red");
var x = document.getElementById("orderedlist");
与调用常规函数的常规JavaScript行不同:

$("#orderedlist").addClass("red");
var x = document.getElementById("orderedlist");
addClass()是一个jQuery函数,getElementById()是一个JavaScript函数

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

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

在代码中

$(function() {
// code to execute when the DOM is ready
});
用于指定DOM就绪时要运行的代码

它没有区分(正如您所想)“jQuery代码”和常规JavaScript代码

所以,为了回答您的问题,只需调用您通常定义的函数

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

//call the function you defined:
myfun();

我的问题是,我是从一个很长的角度看问题的:

function new_line() {
    var html= '<div><br><input type="text" value="" id="dateP_'+ i +'"></div>';
    document.getElementById("container").innerHTML += html;

    $('#dateP_'+i).datepicker({
        showOn: 'button',
        buttonImage: 'calendar.gif',
        buttonImageOnly: true
    });
    i++;
}
函数新建_行(){
var html='
'; document.getElementById(“容器”).innerHTML+=html; $('#dateP'+i).datepicker({ showOn:'按钮', buttonImage:'calendar.gif', buttonImageOnly:true }); i++; }
我成功了

我只是写信

反而

是的,你可以(这就是我对原始问题的理解)。 我是这样做的。把它和外部环境联系起来。 例如:

//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!
}

//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); 

//实例化javascript函数
niceJavascriptRoutine=null;
//开始jQuery
$(文档).ready(函数(){
//您的jQuery函数
函数niceJqueryRoutine(){
//一些代码
}
//将javascript函数指向jQuery函数
niceJavaScriptRoutine=niceJueryRoutine;
});

$.myjQuery=函数(){
警报(“jQuery”);
};
$(文档).ready(函数(){
警惕(“欢迎!”);
});
函数显示(){
$.myjQuery();
};

希望这对你有用

你就这么叫它?具体地说,您遇到了什么问题?您是否正在尝试制作一个jQuery插件-即,您希望您的函数以$(foo)的形式可用。您的函数()?jQuery与JavaScript的对比越来越糟糕。您能告诉我如何在jQuery中声明全局函数吗?如果你有一些例子,那就太好了。实际上我已经给你展示了一个例子。jQuery是Javascript的一部分。在Javascript中,我们定义了全局函数,如我的示例中所示(第一个函数是全局声明的)。如果调用niceJavascriptRoutine(),我会得到错误-‘niceJavascriptRoutine不是函数’:(
jQuery(function(){ 
//Jq Score function     
    function show_score()
    {   
        $('#score').val("10");
    }
});(jQuery); 
    <script>

        // Instantiate your javascript function
        niceJavascriptRoutine = null;

        // Begin jQuery
        $(document).ready(function() {

            // Your jQuery function
            function niceJqueryRoutine() {
                // some code
            }
            // Point the javascript function to the jQuery function
            niceJavaScriptRoutine = niceJueryRoutine;

        });

    </script>
<script>
  $.myjQuery = function() {
    alert("jQuery");
  };

  $(document).ready(function() {
    alert("Welcome!");
  });

  function display() {
    $.myjQuery();
  };

</script>

<input type="button" value="submit" onclick=" display();">