在填充表格时延迟事件

时间:2015-10-12 01:34:09

标签: javascript jquery

我正在创建一个简单的下拉插件,其中下拉列表的值以表格方式显示。

我想要的是在我的表被加载时暂停事件。

这是我的代码。

        //appendTableForThePanel
        $('#appendHere').append('<table class="table table-hover table-condensed"></table>');
        $('#appendHere').find('table').append('<thead></thead>');
        $('#appendHere').find('table').append('<tbody></tbody>');
        $('#appendHere').find('table').find('thead').append('<tr></tr>');


        for(appendCountHeader = 0; appendCountHeader < tableHeader.length; appendCountHeader++ ){

            $('#appendHere').find('table').find('thead').find('tr').append('<th>'+tableHeader[appendCountHeader]+'</th>');
        }

        //count tbody tbody_tr
        var tbody_tr = tbody.length / tableHeader.length;
        //count how many column / row 
        var tbody_td = tbody.length / tbody_tr;

        //append tbody tr tdcontent
        for(var i = 0; i < tbody.length; i += tbody_td) {
            $newRow = $("<tr>");
                for(var j = 0; j < tbody_td; j++) {
                   $newRow.append(
                       $("<td>").html(tbody[i + j])
                   );
                }

            $("#appendHere").find('table').find('tbody').append($newRow);
        }

        $('body').on('click', '#appendHere table tbody tr', function() {
            // alert($(this).find('td:nth-child(1)').html() + ' : ' + $(this).find('td:nth-child(2)').html());
            $($element.selector).val($(this).find('td:nth-child(2)').html());
            $('#appendHere').hide();
        });


       // **I want to deferred below functions when the table is appending**

        $($element.selector).blur(function(){
            setTimeout(function(){
                $('#appendHere').hide();
            }, 200);
        });

        $($element.selector).on('click',  function(){   
                $('#appendHere').show();
        });


        $($element.selector).keyup(function(){

        }); 

我知道这是可能的,但我无法理解延期功能的想法。

提前感谢。

0 个答案:

没有答案