基金会下拉停止工作

时间:2016-02-05 06:17:32

标签: javascript jquery zurb-foundation zurb-foundation-5

我的网页上有一个基金会5下拉列表,工作正常。但是,当我在下拉区域中提交表单时,会在页面顶部添加一个新元素,以便向下移动所有元素。 在那之后,我的所有下拉菜单都停止工作。 (如果我跳过向DOM添加元素,一切正常)

我的下拉菜单:

<div id="file-tab">
    <i data-dropdown="shareForm16" aria-controls="shareForm16" aria-expanded="false" class="iconTrigger"></i>
    <form data-dropdown-content class="share-form f-dropdown content" aria-hidden="true" tabindex="-1" action="" id="shareForm16">
    ...         
    </form>
</div>

我认为我需要重新启动基础事件监听器,但它不起作用。也许我只是做错了。

$('#file-tab').on("submit", 'form.share-form',function(e){
     e.preventDefault();
     var groupName = $(form.target).find('input[type="text"]').val();
     var id = $(e.target).parent().children('input[type="hidden"]').val();
     if (groupName) {
           $(e.target).trigger('click');
           window.currentFTT.share(id ,groupName); // adds the element to the DOM
           // my attempt to rebind:
           $('#'+e.target.id).foundation({bindings: 'events'}); 
           $('i[aria-controls="'+e.target.id+'"]').foundation({bindings: 'events'}); 
     }
});

1 个答案:

答案 0 :(得分:0)

不是为个别元素调用foundation,而是对foundation进行一般调用,然后通过&#39; reflow&#39;作为参数:

$(document).foundation('reflow');

E.g:

$('#file-tab').on("submit", 'form.share-form',function(e){
     e.preventDefault();
     var groupName = $(form.target).find('input[type="text"]').val();
     var id = $(e.target).parent().children('input[type="hidden"]').val();
     if (groupName) {
           $(e.target).trigger('click');
           window.currentFTT.share(id ,groupName); // adds the element to the DOM
           // my attempt to rebind:
           $(document).foundation('reflow');
     }
});