从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++; }