sencha touch Container 监听超链接插件

有时候内容直接从后台获取,有可能包含超链接,打包成应用之后,点击会造成不好的后果,这样做能够用外部浏览器打开。需要Cordova支持

监听插件代码:

 1 /*
 2 *监听a标签,用外部浏览器打开链接
 3 */
 4 Ext.define('ux.ConHref', {
 5     alias: 'plugin.conHref',
 6     xtype: 'conHref',
 7     config: {
 8         cmp: null,
 9         //竖向滚动,不显示滚动条
10         scrollable: {
11             direction: 'vertical',
12             directionLock: true,
13             indicators: false
14         }
15     },
16     constructor: function (config) {
17         this.initConfig(config);
18         this.callParent([config]);
19     },
20     //初始化
21     init: function (cmp) {
22         this.setCmp(cmp);
23     },
24     //更新配置
25     updateCmp: function (newCmp, oldCmp) {
26         if (newCmp) {
27             newCmp.element.on({
28                 tap: 'onTap',
29                 delegate: 'a',
30                 scope: this
31             });
32             newCmp.setScrollable(this.getScrollable());
33         }
34     },
35     //用外部浏览器打开链接
36     onTap: function (e, b) {
37         var a = e.getTarget('a');
38         if (a) {
39             a.onclick = function () {
40                 return false;
41             }
42             window.open(a.href, '_system');
43         }
44     }
45 });

使用代码:

 1 Ext.define('app.view.panel.Href', {
 2     alternateClassName: 'panelHref',
 3     extend: 'Ext.Container',
 4     xtype: 'panelHref',
 5     requires: ['ux.ConHref'],
 6     config: {
 7     cls:'info',
 8         title: '内容包含超链接',
 9         plugins: 'conHref',
10         scrollable:null,
11         html: '<a href="http://www.google.com.hk/">谷歌</a><br/><br/>有时候内容直接从后台获取,有可能包含超链接,打包成应用之后,点击会造成不好的后果,这样做能够用外部浏览器打开。需要Cordova支持'
12     }
13 });

效果:

原文地址:https://www.cnblogs.com/mlzs/p/3412486.html