layer弹出层的第一个按钮回调是yes怎么修改?

提问 未结 9 114
nop22
nop22 2019-9-8
悬赏:20飞吻
版本:layui 2.5.4 浏览器:chrome

有个问题,就是在layer弹出层里面的confirm或者open里面添加按钮,第一个按钮总是蓝色的yes回调,请教一下怎么改成普通的按钮.谢谢.
顺便反馈一下,最新的2.5.4layui.js中的var layer=layui.layer不能用,只能用layer.all.js
回帖
  • shygirl
    2019-9-9
    如果是open,可以自己写按钮,不使用默认的按钮,这样按钮的样式你就可以随便定义了,或者是根据默认的class,自己写样式
    0 回复
  • nop22
    2019-9-9
    @shygirl 您好,可以贴一些这块open代码么?谢谢了
    0 回复
  • shygirl
    2019-9-9
    0 回复
  • nop22
    2019-9-9
    第二个好像是iframe层吧,就只是想要第一个那种简单的两个按钮那种的.也是一个iframe层么?
    0 回复
  • nop22
    2019-9-9
    0 回复
  • shygirl
    2019-9-9
    @nop22 第一个那种直接写css啊
    .layui-layer-btn0{
    background-color:yellow;
    }
    .layui-layer-btn1{
    background-color:red;
    }
    0 回复
  • nop22
    2019-9-9
    @shygirl 是在content中添加btn自己设计样式么?
    0 回复
  • shygirl
    2019-9-9
    @nop22 对啊
    0 回复
  • 可以考虑增强一下layer.open方法,下面是我的代码,仅供参考

    /**
    * 增强layer功能
    * 1、增加 layer.open {@code btnConfirmIndex} 参数,用于设置确认按钮索引,以修改默认样式
    */
    if (layui && layui.layer && !layui.layer.$enhanced) {

    let $open = layer.open
    layer.open = (config) => {
    let btnConfirmIndex = config.btnConfirmIndex
    if (!btnConfirmIndex) {
    return $open(config)
    }
    let $success = config.success
    config.success = (layero, index) => {
    layui.$(`${layero.selector} .layui-layer-btn->a:eq(0)`).removeClass("layui-layer-btn0")
    layui.$(`${layero.selector} .layui-layer-btn->a:eq(${btnConfirmIndex})`).addClass("layui-layer-btn0")
    $success && $success(layero, index)
    }

    return $open(config)
    }

    layui.layer.$enhanced = true
    }
    0 回复