代码之家  ›  专栏  ›  技术社区  ›  orolo

如何在插件调用中插入click函数?

  •  1
  • orolo  · 技术社区  · 14 年前

    在jQuery插件fullCalendar()中,我可以得到view.visStart的值。在function view.visStart之外不可用。我怎样才能把view.visStart弄出来(这是不是因为它是全球性的?)或者如何在插件调用中插入click函数?谢谢。

    $('#calendar').fullCalendar({
        events: "js/events.json"
        console.log(view.visStart); //value is returned
    });
    
    $('.fc-button-next').click(function() {
        console.log(view.visStart); //view is not defined
    });
    
    2 回复  |  直到 14 年前
        1
  •  1
  •   Peter Ajtai    14 年前

    最简单的方法是使用父作用域中的变量。

    当然,你必须注意如何以及何时改变这个变量。

    您也可以以某种方式返回变量。或者如果您希望它写保护,您可以返回一个返回变量的函数。但我不确定 return 电话会影响 .fullCalendar() ,因为我不知道它是怎么工作的。

    (function() {                      // <== Scope for your stuff
        var myVis;                     // myVis is available everywhere in your scope
                                       //   but it is not global
    
        $(function() {                                               // <== Doc ready
            $('#calendar').fullCalendar({
                events: "js/events.json"
                cmyVis = view.visStart; //set myVis
            });
    
            $('.fc-button-next').click(function() {
                console.log(myVis);                             //view is not defined
            });
        });
    }());
    
        2
  •  1
  •   Mouhannad    14 年前

    也许这不是你想要的,但是如果你想在jquery插件中绑定一个click函数,你可以使用 live() :

    首先检查呈现的html并查看插件插入了什么-查找要将click函数绑定到的html元素的id或类。live()将绑定任何元素,即使在调用该行并在稍后创建该元素之后。

    $('.pluginlink').live('click', function() {
      //code
    });
    

    我不知道这是否是你正在寻找的,但部分问题是如何插入一个插件点击功能。祝你好运!