Javascript 如何在ajax加载的页面中使用MVC函数?
我的控制器看起来像这样:Javascript 如何在ajax加载的页面中使用MVC函数?,javascript,jquery,ajax,model-view-controller,Javascript,Jquery,Ajax,Model View Controller,我的控制器看起来像这样: jQuery.extend({ Controller: function(model, view){ //-----VIEW-----// var vlist = $.ViewListener({ clickItem : function(Item){ switch (Item) { case 'File': //do somethi
jQuery.extend({
Controller: function(model, view){
//-----VIEW-----//
var vlist = $.ViewListener({
clickItem : function(Item){
switch (Item) {
case 'File':
//do something
break;
default:
//do something else
}
}
});
view.addListener(vlist);
//-----MODEL-----//
var mlist = $.ModelListener({
gotContent : function(Item) {
switch (Item.type) {
case 'Download':
//do someting else
break;
default:
//do something else
}
//update view
}
});
model.addListener(mlist);
}
});
$(function(){
var model = new $.Model();
var view = new $.View($("#framework"));
var controller = new $.Controller(model, view);
view.init();
});
如何从非MVC创建的页面使用clickItem功能
我尝试过view.clickItem和许多其他方法,但是没有定义任何内容,因为它都在私有函数中
我像这样加载MVC:
jQuery.extend({
Controller: function(model, view){
//-----VIEW-----//
var vlist = $.ViewListener({
clickItem : function(Item){
switch (Item) {
case 'File':
//do something
break;
default:
//do something else
}
}
});
view.addListener(vlist);
//-----MODEL-----//
var mlist = $.ModelListener({
gotContent : function(Item) {
switch (Item.type) {
case 'Download':
//do someting else
break;
default:
//do something else
}
//update view
}
});
model.addListener(mlist);
}
});
$(function(){
var model = new $.Model();
var view = new $.View($("#framework"));
var controller = new $.Controller(model, view);
view.init();
});
基本上,我有一个链接,我想以与clickItem函数相同的方式使用它。能够通过使用jQuery的.live()方法绕过这个问题。
在ajax成功回调中,我运行了一个jQuery.live()方法,将onclick事件附加到调用clickItem()函数的元素。可能会说明MVC获取页面而不是创建页面。