Javascript 从自定义JS函数激活Sencha Touch选项卡
我在iOS上有一个Cordova项目,我想在事件“X”之后切换到一个特定的选项卡 假设事件“X”刚刚发生,my objective C将执行以下调用以运行JS函数Javascript 从自定义JS函数激活Sencha Touch选项卡,javascript,ios,cordova,sencha-touch-2,Javascript,Ios,Cordova,Sencha Touch 2,我在iOS上有一个Cordova项目,我想在事件“X”之后切换到一个特定的选项卡 假设事件“X”刚刚发生,my objective C将执行以下调用以运行JS函数openNotificationTab()如下所示: NSString *goToNotification = [NSString stringWithFormat:@"openNotificationTab()"]; [viewController.webView stringByEvaluatingJavaScriptFromStr
openNotificationTab()
如下所示:
NSString *goToNotification = [NSString stringWithFormat:@"openNotificationTab()"];
[viewController.webView stringByEvaluatingJavaScriptFromString:goToNotification];
openNotificationTab()
函数驻留在filename.js中,我通过使用alert()
测试验证了它在范围内,并且可以访问
现在my js函数的定义如下:
function openNotificationTab(){
Ext.Viewport.setActiveItem({
xtype: 'notificationtabview'
});
}
问题是,此函数打开正确的面板,但将其覆盖在所有其他面板之上。因此,整个选项卡菜单不再可见,因此无法访问
我也试过了
"Ext.Viewport.setActiveItem(1)" and "Ext.Viewport.setActiveItem('notificationtabview')"
但两者都不起作用。感谢您的帮助。您需要在TabPanel上调用setActiveItem,其中包含要显示的选项卡的索引或要显示的项目 您可以使用以下选项检查视口的类:
Ext.Viewport.$className
您可能会在这里了解到视口不是您的选项卡面板
var tabPanel = Ext.Viewport.down("tabpanel");
tabPanel.setActiveItem(tabPanel.down("notificationtabview"))
或
这两种方法都有效。您需要在TabPanel上调用setActiveItem,使用要显示的选项卡的索引或要显示的项目 您可以使用以下选项检查视口的类:
Ext.Viewport.$className
您可能会在这里了解到视口不是您的选项卡面板
var tabPanel = Ext.Viewport.down("tabpanel");
tabPanel.setActiveItem(tabPanel.down("notificationtabview"))
或
这两部作品都很有魅力。谢谢你,克劳德,工作很有魅力。谢谢你,克劳德。