Tam*_*Pap 7 javascript css jquery jquery-ui
如果你查看这个jsbin:http://jsbin.com/efosed/5/edit 并按"Run with JS",将会有一个可以使用jquery ui调整大小的div.一切都像预期的那样.div被放置在"全屏"iframe上.在链接的示例中,此iframe具有:display: none.
如果我修改它display: block,并重新运行脚本,reziable插件将有一些奇怪的行为.你可以在这里试试:http://jsbin.com/efosed/6/edit.它不会正确处理鼠标事件.可能是什么原因,我该如何解决?
A. *_*lff 31
你必须实现自己的逻辑来修复iframe.一种解决方案是在iframe上添加div:
$(function() {
$('#resizable').resizable({
start: function(event, ui) {
$('<div class="ui-resizable-iframeFix" style="background: #fff;"></div>')
.css({
width:'100%', height: '100%',
position: "absolute", opacity: "0.001", zIndex: 1000
})
.appendTo("body");
},
stop: function(event, ui) {
$('.ui-resizable-iframeFix').remove()
}
});
});
Run Code Online (Sandbox Code Playgroud)
对于支持CSS属性的现代浏览器pointer-events,有一个更好的解决方案,请参阅代码和jsbin:
$(function() {
$('#resizable').resizable({
start: function(event, ui) {
$('iframe').css('pointer-events','none');
},
stop: function(event, ui) {
$('iframe').css('pointer-events','auto');
}
});
});
Run Code Online (Sandbox Code Playgroud)