jquery 小部件多次调用
jquery widget multiple calls
我在 jquery 中创建了一个小部件并从 cshtml 调用它。第一次调用时,小部件已成功创建并且数据已正确显示。但是当第二次调用小部件时,它不会触发小部件的“_create”功能。为什么会这样?
我是否需要在再次创建小部件之前销毁它,还是应该先初始化它然后单独创建它。如果是,请告诉我该怎么做?
这是我的小部件示例代码。
$.widget("namespace.widgetname", {
//These are default options
options: {
Name: ""
},
//Triggers when widget called
_create: function () {
console.log($(this.element));
},
_destroy: function () {
this.element.remove();
}
})
像这样点击按钮时调用小部件。
function Preview() {
$("#targetdiv").widgetname({
Name: $('#txtAdminNameLeader').val()
});
}
因此,简而言之,小部件调用不会触发多个调用。
任何帮助将不胜感激 因为我被困在这里 3 天:(
谢谢
您不需要使用 _destory 函数来销毁小部件。你需要像这样明确地调用 "destroy":
$("#targetdiv").widgetname("destroy");
然后您可以再次调用小部件,它肯定会命中 _create。
$("#targetdiv").widgetname({
Name: $('#txtAdminNameLeader').val()
});
你也可以单行完成,如下所示:
$("#targetdiv").widgetname({
Name: $('#txtAdminNameLeader').val()
}).widgetname("destroy");
这次销毁只会销毁内存对象。在小部件的 _create 中做任何您想做的事情。
希望你的问题能得到解决。 :)
我在 jquery 中创建了一个小部件并从 cshtml 调用它。第一次调用时,小部件已成功创建并且数据已正确显示。但是当第二次调用小部件时,它不会触发小部件的“_create”功能。为什么会这样? 我是否需要在再次创建小部件之前销毁它,还是应该先初始化它然后单独创建它。如果是,请告诉我该怎么做?
这是我的小部件示例代码。
$.widget("namespace.widgetname", {
//These are default options
options: {
Name: ""
},
//Triggers when widget called
_create: function () {
console.log($(this.element));
},
_destroy: function () {
this.element.remove();
}
})
像这样点击按钮时调用小部件。
function Preview() {
$("#targetdiv").widgetname({
Name: $('#txtAdminNameLeader').val()
});
}
因此,简而言之,小部件调用不会触发多个调用。
任何帮助将不胜感激 因为我被困在这里 3 天:( 谢谢
您不需要使用 _destory 函数来销毁小部件。你需要像这样明确地调用 "destroy":
$("#targetdiv").widgetname("destroy");
然后您可以再次调用小部件,它肯定会命中 _create。
$("#targetdiv").widgetname({
Name: $('#txtAdminNameLeader').val()
});
你也可以单行完成,如下所示:
$("#targetdiv").widgetname({
Name: $('#txtAdminNameLeader').val()
}).widgetname("destroy");
这次销毁只会销毁内存对象。在小部件的 _create 中做任何您想做的事情。 希望你的问题能得到解决。 :)