iteye_1952 2010-10-12 14:32
浏览 284
已采纳

ext 我用DataView 显示图片列表,图片下面的链接点击没反应,各位帮忙看看

[code="java"]
var picPs = new Ext.data.JsonStore({
url: "getPic.action"+"?programInstanceId="+ node.id,
root: 'images',
fields: ['name', 'url','state', {name:'size', type: 'float'}]
});
picPs.load();

var tpl = new Ext.XTemplate(
    '<tpl for=".">',
            '<div class="thumb-wrap" id="{url}">',
     '<div class="thumb"><a href="{url}" target="_blank" class="photo"><img src="{url}"     title="{name}"></a></div>',
         '<tpl if="this.isTrue(state)==true">',
                 '<span >停止    <a href="{url}">取消</a></span></div>',
             '</tpl>',
         '<tpl if="this.isTrue(state)==false">',
         '<span><a href="baidu.com" target="_blank">开始</a>    <a href="http://www.baidu.com" target="_blank">删除</a></span></div>',                   
            '</tpl>',
    '</tpl>',

    {
    isTrue: function(state){
        return state == true;
    }}        
);

var picPanel = new Ext.Panel({
    id:'images-view',
    frame:true,
    width:410,
    height:270,
    collapsible:true,
    layout:'fit',
    title:'图片',
    tbar : [{
            text : '上传',
            iconCls : 'db-icn-upload',
            handler : function() {
                var dialog = new Ext.Window({
                            title : '多文件上传',
                            name:'dialog',
                            width : 500,
                            height : 500,
                            itemId:node.id,
                            resizable : false,
                            layout : 'fit',
                            items : [{
                                xtype : 'uploadpanel',
                                uploadUrl : 'uploadFiles.action',
                                filePostName : 'myUpload', 
                                flashUrl : 'ExtJs/swfupload/swfupload.swf',
                                fileSize : '500 MB',
                                height : 400,
                                border : false,
                                fileTypes : '*.*', 
                                fileTypesDescription : '图片或XML文件',
                                postParams : {
                                path : node.text + '\\',
                                            programInstanceId:node.id
                                        }
                                    }],
                            listeners : {
                                "close" : function() {
                                    this.tpl=tpl2;
                                    picPs.reload();
                                    picPanel.view.refresh();
                                    //Ext.get(node.id+pic).tpl=tpl2;
                                }
                            },
                            bbar : ['fm1039.com']
                        });

                dialog.show();
            },
            scope : this
            }],
    items: new Ext.DataView({
        store: picPs,
        tpl: tpl,
        height:270,
        id:node.id+'pic',
        multiSelect: true,
        overClass:'x-view-over',
        itemSelector:'div.thumb-wrap',
        emptyText: 'No images to display',


        listeners: {
            dblclick:{
                fn:function(dv,nodes){                  
                    var cn = dv.getSelectedNodes()[0];

                        var showPic = new Ext.Window({
                                 layout: 'fit',
                                 title:'图片',
                                 width:240,
                                 height:320,
                                 //autoHight:false,
                                 modal:true,
                                 html:"<img src='"+cn.id+"'>",
                                 closeAction:'hide'          
                            });
                    showPic.show();

                }
            }

        }
    })
});

[/code]

是不是那个tpl有问题?
显示没问题。。就是点击链接没反应

  • 写回答

1条回答 默认 最新

  • lizhiyezi 2010-10-12 14:52
    关注

    主要是DataView内置处理click事件 阻止了浏览器默认行为处理事件,所以点击a标签没反应

    beforeclick : function(d, i, item, e) {
    if (String(e.getTarget().nodeName).toUpperCase() == 'A') { // 如果点击的是a标签,不进行处理。
    return false;
    }
    },

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥30 STM32 INMP441无法读取数据
  • ¥100 求汇川机器人IRCB300控制器和示教器同版本升级固件文件升级包
  • ¥15 用visualstudio2022创建vue项目后无法启动
  • ¥15 x趋于0时tanx-sinx极限可以拆开算吗
  • ¥500 把面具戴到人脸上,请大家贡献智慧
  • ¥15 任意一个散点图自己下载其js脚本文件并做成独立的案例页面,不要作在线的,要离线状态。
  • ¥15 各位 帮我看看如何写代码,打出来的图形要和如下图呈现的一样,急
  • ¥30 c#打开word开启修订并实时显示批注
  • ¥15 如何解决ldsc的这条报错/index error
  • ¥15 VS2022+WDK驱动开发环境