如何在 jQuery 中创建一个全局函数,并从另一个加载的页面调用它



如何在jquery中声明一个全局函数,如何使用jquery的load((函数从该页面上某个div中加载的页面调用它。

功能在第一个子页面中很简单

+-----------------------------------------------+|主要链接 |+-----------------------------------------------||+-------------------------------------------+ || |第一个子页面(myfun功能在这里( | ||+-------------------------------------------+ || |+---------------------------------------+ | || | |                                      | | || | |                                      | | || | |                                      | | || | |MyButton点击了MyFun的呼叫| | || | |                                      | | || |+---------------------------------------+ | ||+-------------------------------------------+ |+-----------------------------------------------+

但是当我点击时,什么也没发生...这里都是功能

我的芬

myfun(tab_index, acc_id){
    alert(tab_index +" | +" acc_id);
}

我的按钮

$("#mybutton").click(function(){
    var $bottomLineBtn = $(this);
    $bottomLineBtn.parent().myfun('2','43234');
})

有人可以帮帮我..很难找到解决方案..我已经搜索了3个小时...

=====================================================================================================================================================================================================================================================

===

更新

这是详细场景

  1. 我正在使用jQuery处理一些动态内容
  2. 第一页包含 2 个div,一个是 id=menu 个,其他 id=subpage1 个,
  3. 我单击 #menu 中的一个链接,一个页面被加载到#subpage1.
  4. 又有一个页面有 2 个div #menu2#subpage2
  5. 在这里,我制作了一个脚本,只需使用 1 个参数即可自动将页面加载到#subpage2....这是列表菜单的 ID。
  6. 这个脚本是..

     $("#menu2 li"(.click(function(({     $("#subpage2"(.load($(this(.attr('page_link'((;   } }(.filter('#menu2 li:eq(0('(.click((; 
  7. 在最底部,我使用 2 个按钮,一个按钮工作正常,它调用上述函数并更改值 li:eq(1( .. 我就是这样做的。

    $("#bottom_bar #backbtn"(.click(function(({    var $bottomLineBtn = $(this(;    $bottomLineBtn.parent((.parent((.parent((.find('#menu2 li:eq(1('(.click((;    })

。但是另一个按钮不起作用。我想调用一个属于 #subpage1 中某些div 的函数。但无法访问它们。我只在上面的$("#menu2 li").click(function(){函数旁边放了一个函数。

 myfun(tab_index, acc_id){
        alert(tab_index +" | +" acc_id);
    }

但是我不知道如何从加载到#subpage2中的第二个按钮调用此函数

以上场景是不是做场景..请试着理解我..我不太擅长描述...

为什么不能将函数放在外部.js文件中,然后将其导入主页?

function setGlobalFunc()
{    
   window.myfunc = (function(){alert("o hai");});    
}    
setGlobalFunc();    
myfunc();    

从另一个函数中创建的函数,仍可全局访问。

根本不需要jQuery。

如果内容是动态加载的,则需要使用 .live() 方法挂接事件

$("#mybutton").live("click", function() { /* code here */ });

问题是你把函数链起来,就好像它是jQuery的一部分一样,但你还没有让它成为jQuery的插件。

你应该这样称呼它

$("#mybutton").click(function(){
    // var $bottomLineBtn = $(this);
    // $bottomLineBtn.parent();
    myfun('2','43234');
})

或者将您的函数定义为 jquery 的插件,例如

 $.fn.myfun = function(tab_index, acc_id){
    alert(tab_index +" | +" acc_id);
 };

并像您当前一样调用它

相关内容

  • 没有找到相关文章

最新更新