我在这个网站上已经完成了很多问题和解决方案,但没有一个适合我。
软件: jQuery v1.7.2 fancybox v2.0.6
我有一个隐藏的div,里面有另一个我使用jQuery插件fileTree显示文件管理器。单击浏览图标时,这可以100%工作。
我现在正在尝试在单击浏览图标时在fancybox中显示filemanager div。这仅适用于第一次。之后的任何点击都不会被on('click')函数记录下来。
如果我如何删除fancybox块中的'href:myID'行,它每次都有效。因此,fancybox href函数中的某些东西会杀死on('click')触发器。
我已将其跟踪到myID的DOM声明,然后仅在单击的浏览图标位于同一父结构中时才会跟踪。
任何想法都会受到欢迎,因为我花了相当多的时间来找出错误。
HTML:
<div>
<div>
<input field where the value will go />
</div>
<div>
<img class='browse' src='images/browse.gif' title='' alt=''/>
</div>
<div class='hidden'>
<div id='FM_defaultAdminUploadRootDir' class='filemanager'></div>
</div>
</div>
jQuery的:
jQuery(document).ready(function() {
jQuery.noConflict();
var myID;
var myRoot = '{$site_Root}';
var myDir;
jQuery('.browse').on('click', function(){
myID = '#'+this.parentElement.parentElement.children[2].firstElementChild.id;
jQuery(myID).fileTree({
root: myRoot,
script: '".PURPLE_WYSIWYG_SRC_ABS_PATH."jqueryFileTree/connectors/jqueryFileTree.php',
folderEvent: 'click',
multiFolder: false,
expandEasing : 'easeOutExpo',
collapseEasing : 'easeInExpo'
},
function(file) {
//alert(file);
},
function(dire) {
myDir = dire;
}
);
jQuery.fancybox({
href: myID, // <----- REMOVE THIS AND IT WORKS
title: 'Select the directory',
helpers : {
title: {
type: 'outside'
},
overlay : {
opacity: 0.7,
css : {
'background-color' : '#433'
}
}
}
});
return false;
});