layer confirm等事件X关闭监听

layer.confirm('是否提示?', {
  btn: ['是','否'] //按钮
  ,cancel: function(index, layero){
    //取消操作,点击右上角的X
  }
}, function(){
//是
}, function(){
//否
});

layer.open({
        type: 2,
        title: '结果',
        maxmin: true,
        shadeClose: true, //点击遮罩关闭层
        area : ['80%' , '80%'],
        content: path,
        resize:false,
        end:function(index){ 
            var retVal = $("#layerResult").val(); 
            if(retVal=='0'){//0通过
 
            }else{
 
            }
        }
    });

之 btn - 按钮
 
Layer.js是一个常用的JavaScript插件,它提供了一种方便的方式来显示弹窗或确认对话框。当你遇到`layer.confirm` 和 `frameset` 冲突的情况,通常是因为frameset页面结构下,层叠窗口的定位可能会受到影响,导致预期的行为未按预期执行。 为了解决这个问题,你可以采取以下步骤让`layer.confirm`更像浏览器原生的`window.confirm`一样显示: 1. **避免直接在frameset内部使用**:尽量将弹窗操作放在顶层框架或者在非frameset区域的代码里,这样可以减少与frameset元素的交互冲突。 2. **修改CSS样式**:如果需要在frameset内显示,尝试调整层叠对话框的CSS属性,比如设置其`z-index`高于frameset元素,使其浮于内容之上。 3. **动态插入层**:如果确实需要在frameset中显示,可以在frameset之外创建一个新的Iframe或者Div,并将`layer.confirm`的结果绑定到这个新容器上,然后通过JavaScript控制其显示和隐藏。 4. **事件代理**:由于frameset限制了父子元素间的直接通信,你可以使用事件代理技术,监听父级元素的事件并在其中处理`layer.confirm`的回调。 ```javascript document.getElementById('parentFrame').addEventListener('click', function(event) { if (event.target.tagName === 'A') { // 检查点击目标是否为链接 layer.confirm('确认操作', { btn: ['确定', '取消'], callback: function(index) { // 这里处理点击后的业务逻辑 } }); } }); ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值