-1

Keyup 和 Down 没有触发。

viewmenu将改变内容取决于选择菜单。它工作正常。但formsearch不再工作了。 $(document).ready(function()在主文件中。我刚刚嵌入了 js.js,它似乎不会运行document ready script

这是我的代码:

<script type="text/javascript" src="asset/jquery-1.9.1.js"></script>

<script type="text/javascript" src="asset/js.js"></script>

$(document).ready(function(){
    var typingTimer;                //timer identifier
    var doneTypingInterval = 2000;  //time in ms, 5 second for example

    $('#formsearch').find(':input').each(function(){
          $(this).keyup(function(){
            typingTimer = setTimeout(doneTyping, doneTypingInterval);
        });
    })
});

Js.js 包含:

viewMenu = function(v){
    $.ajax({
        type: 'GET',
        url: 'index.php?task='+v,
        beforeSend: function(){
            $('#display').html('LOADING...');
        },
        success: function(d){
            $('#display').html(d);
        }
    });
} 
4

2 回答 2

0

将其绑定到最近的父静态元素以获取动态内容,如下所示:

$('#formsearch').on('keyup',':input',function(){
    typingTimer = setTimeout(doneTyping, doneTypingInterval);
});
于 2013-10-01T08:16:50.070 回答
0

如果您通过 ajax 更新了表单中的内容。

您应该像下面的代码一样绑定事件,因为添加新内容时您的 DOM 会发生变化。这将清除您在 DOM 更改之前绑定的事件。

$('#formsearch').on('keyup', ':input', function(){
    typingTimer = setTimeout(doneTyping, doneTypingInterval);
});
于 2013-10-01T08:21:06.900 回答