我似乎无法访问在点击事件中创建的插件的功能。 创建插件后,我创建了另一个通常会使用插件的外部函数的按钮,但似乎没有办法实现这个功能。 在document.ready事件期间创建插件时,我没有遇到访问该函数的问题。
有什么想法吗?
var pluginHolder = $('<div/>'); //just in case this was the issue
$("body").on("click","#profile_plugin",function(e)
{
pluginHolder = $('<div/>',{id:"coverCanvas"}); //Holding external button and plugin in a div
abutton = $('<button/>',{class:"buttonis"});
plugin = $('<div/>');
plugin.testClass({
c1:2,
c2:"ffffff",
c3:940,
});
//works fine (plugin renders and fully functional)
plugin.appendTo(pluginHolder);
abutton.appendTo(pluginHolder);
pluginHolder.appendTo($(".container"); //Works
console.log(plugin.testoutput()); //Uncaught TypeError: undefined is not a function
abutton.on("click",doStuff);
function doStuff(e)
{
console.log(plugin.testoutput()); //Uncaught TypeError: undefined is not a function
console.log(plugin[0].testoutput()); //Uncaught TypeError: undefined is not a function
}
});
答案 0 :(得分:0)
我找到了解决方案,所以我将在此处发布以供将来参考:
var coverCanvasObj = null;
var divContainer = $('<div/>');
coverCanvasObj = divContainer.testClass({
option1:2,
option2:tru
});
所以我只需要访问render / container Div。
之外的testClass对象