在fullCalendar()中,一个jQuery插件,我可以获得view.visStart的值。函数view.visStart之外不可用。我怎样才能获得view.visStart(这是不好的,因为它是Global?)或者如何在插件调用中插入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
});
答案 0 :(得分:1)
最简单的方法是使用父作用域中的变量。
您必须注意当然如何以及何时更改该变量。
你也可以以某种方式返回变量。或者,如果您希望它写保护,您可以返回一个返回变量的函数。但我不确定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
});
});
}());
答案 1 :(得分:1)
也许这不是你要求的,但如果你想在jquery插件中绑定一个click函数,你可以使用live():
首先检查渲染的html并查看插件插入的内容 - 找到您尝试将click函数绑定到的html元素的id或类。即使在调用该行并且稍后创建该元素之后,live()也将绑定任何元素。
$('.pluginlink').live('click', function() {
//code
});
我不知道这是否是您正在寻找的,但部分问题是如何在插件中插入点击功能。祝你好运!