layer捕获页如何实现
layer捕获页代码如下:
1 2 3 4 5 6 7 8 9 10 | //捕获页 layer.open({ type: 1 , shade: false , title: false , //不显示标题 content: $( '.layer_notice' ), //捕获的元素,注意:最好该指定的元素要存放在body最外层,否则可能被其它的相对元素所影响 cancel: function(){ layer.msg( '捕获就是从页面已经存在的元素上,包裹layer的结构' , {time: 5000 , icon: 6 }); } }); |
但是如果按照官网说的 把要指定的元素放在body外层,则根本找不到该元素。
变通的办法:在body内写一个空白的div,当触发的时候就在空白div内添加html,如果关闭掉弹出层,则把这个div的html代码全部清空。代码如下:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 | function parvalueFocus(n){ var $ob = $(n); //alert($ob.val()); layer.open({ type: 1 , area: [ '600px' , '360px' ], shadeClose: true , //点击遮罩关闭 content: $( '#layer_notice' ), offset: '100px' , cancel: function(){ var par = "" ; //遍历字典名称和字典值放入输入框里 //alert($(".newpar_sub").html()); //将数据回填 $.each( $( ".newpar_sub" ), function(i, x){ //alert(90); //获取子元素 var $x = $(x); par = par + $x.children( ".parname_sub" ).val()+ ":" +$x.children( ".parvalue_sub" ).val()+ "," ; }); par = par.substring( 0 ,par.length- 1 ); $ob.val(par); $( '#layer_notice' ).html( "" ); } }); $( '#layer_notice' ).html( '<div><a href="#" onclick="appendInputSub();"><i class="icon-plus"></i></a> <a href="#" onclick="removeInputSub();"><i class="icon-minus"></i></a></div>' + "<div class='newpar_sub'>字典名称:<input class='parname_sub' type='text' value=''/>字典值:<input class='parvalue_sub' type='text' value=''/></div>" ); } |
抱歉,暂停评论。