easyui 选项卡Tabs中js不生效

最近遇到一个easyui选项卡的问题,当我们打开新的Tab 时,往往要第一个Tab的js是好的,其他的Tab都没有反应,在这里我发现$(’#id’).click(function(){})无效,function 函数名(){}是可以用的,但由于多个html文件中会存在相同的id或者name,还是会导致冲突

链接:EasyUI选项卡

tab选项卡有两种创建方式

1、href 以html片段的方式加载到页面中,默认只会加载body标签里的内容

var title = '权限划分';
var url = '{{ url_for('authority') }}';
# 判断路径是否存在
if ($('#tt').tabs('exists', title)){
    $('#tt').tabs('select', title);
    # 选中 并刷新
    var tab = $('#tt').tabs('getSelected');  // get selected panel
    tab.panel('refresh', url);
} else {
	# 新增
    $('#tt').tabs('add',{
        title:title, 
        href:url,
        closable:true   # true时有关闭的按钮
    });
}

2、content 以iframe形式加载到页面中,加载过程中,需要渲染,时间比href方式长(我现在采用的方式)

if ($('#tt').tabs('exists', title)){
    $('#tt').tabs('select', title);
    # 选中父级选项卡  直接使用$('#id')无效 并刷新
    var jq = top.jQuery;
           var tab = jq('#tt').tabs('getSelected');  // get selected panel
           jq('#tt').tabs('update',{
               tab: tab,
               options: {
                   content  : '<iframe frameborder="0" scrolling="auto" style="width:100%;height:100%" src="'+url+'"></iframe>',
               }});
} else {
	# 新增
    $('#tt').tabs('add',{
        title:title, 
        href:url,
        closable:true   # true时有关闭的按钮
    });
}

利用content 和iframe加载可能会出现无法选择父级选项卡,方法如上面,直接使用$(’#id’)无效

iframe 的优点是js互不冲突,可以相互调用

使用iframe 可能会遇到iframe内容不能完全显示的问题,可以使用下面的js

注意:这个js要放在iframe的外面(父类标签)才会生效

function provider_reinitIframe() {
            var iframe = document.getElementById("provider_urlIframe");
             try
            {
                var bHeight = iframe.contentWindow.document.body.scrollHeight;
            /*
               var dHeight = iframe.contentWindow.document.documentElement.scrollHeight;
               var height = Math.max(bHeight, dHeight);
               iframe.height = height;                */
               iframe.height = bHeight;
            }
                      catch (ex) { }
            }

iframe 需要的设置(style属性中不能设置height)

<iframe frameborder="0" scrolling="auto" id="provider_urlIframe" style="width:100%" src="'+url+'" onload="provider_reinitIframe()"></iframe>
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
要实现EasyUITabs选项卡的内容放大操作,您可以使用JavaScript动态修改内容的字体大小。以下是一个示例代码: ```html <!DOCTYPE html> <html> <head> <title>Tabs内容放大示例</title> <link rel="stylesheet" type="text/css" href="https://cdn.bootcdn.net/ajax/libs/jqueryui/1.12.1/themes/smoothness/jquery-ui.css"> <link rel="stylesheet" type="text/css" href="https://cdn.bootcdn.net/ajax/libs/jquery-easyui/1.9.22/themes/default/easyui.css"> <script type="text/javascript" src="https://cdn.bootcdn.net/ajax/libs/jquery/1.8.3/jquery.min.js"></script> <script type="text/javascript" src="https://cdn.bootcdn.net/ajax/libs/jquery-easyui/1.9.22/jquery.easyui.min.js"></script> </head> <body style="margin: 0;"> <div id="tt" class="easyui-tabs" style="width:100%;height:100%;"> <div title="Tab 1" style="padding:10px;"> <div class="content"> 这是Tab 1的内容 </div> </div> <div title="Tab 2" style="padding:10px;"> <div class="content"> 这是Tab 2的内容 </div> </div> </div> <script type="text/javascript"> function zoomIn() { var zoomValue = 1.5; // 放大倍数 var $content = $('.easyui-tabs .content'); // 调整内容字体大小 var fontSize = parseFloat($content.css('font-size')); $content.css('font-size', fontSize * zoomValue); } $(function() { $('#tt').tabs(); $('<a href="#" class="easyui-linkbutton">放大</a>') .appendTo($('.tabs-wrap')) .click(function() { zoomIn(); }); }); </script> </body> </html> ``` 在上述代码,通过点击"放大"按钮,调整了Tabs选项卡内容的字体大小,从而实现了内容的放大效果。这里使用了`easyui-linkbutton`组件来创建按钮,并在页面加载完成后通过JavaScript代码将按钮添加到Tabs的标题栏。通过选择相应的选择器,可以找到要放大的内容,并通过修改其字体大小来实现放大效果。您可以根据实际需求进行调整和优化。希望对您有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值