我正在尝试添加一个关闭按钮到Elfinder。我想把它放在搜索框的右边,也就是关闭按钮的位置。
在初始化elfinder之后,我这样做:
$('.elfinder-toolbar').prepend('<a class="elfclose"><div class="elfclose-bg">×</div></a>');
Css:
.elfclose {
font-size: 20px;
font-weight: bold;
line-height: 18px;
color: #000000;
text-shadow: 0 1px 0 #ffffff;
text-decoration: none;
float: right;
}
(美元)。Prepend应该将elfclosediv作为工具栏下的第一个元素,但搜索框始终是第一个。
我相信这是由Elfinder在我后面加前缀引起的…有没有办法在另一个div存在之后执行这个操作?
仅供参考,我确实想出了这个…
搜索框是Jquery在init之后添加的,所以你必须在preend之后添加一个delay。我尝试检查是否存在搜索div(这样会更好),但结果证明工作量太大。没人会注意到0.2秒的延迟。套用拉里·沃尔的话来说,如果你的代码能在老板解雇你之前完成工作,那么它就是正确的。
我在Angular中,因此有了$compile指令:
var close = $compile('<a class="elfclose" ng-click="closeFileBrowser()">
<div class="elfclose-bg">×</div></a>')($scope);
$timeout(function(){$('.elfinder-toolbar').prepend(close);}, 200);