Fancyapps(fancybox)杀死jQuery('click')触发器

时间:2012-07-25 09:30:57

标签: jquery fancybox-2

我在这个网站上已经完成了很多问题和解决方案,但没有一个适合我。

软件: 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;
});

0 个答案:

没有答案