Javascript jquerykeyup未启动

Javascript jquerykeyup未启动,javascript,jquery,Javascript,Jquery,我在keyup事件上使用以下函数重定向到另一个javascript函数。 问题是它似乎没有启动,尽管它确实将函数绑定到文本框 $(document).ready(function () { EnablePickTargetButton(); //clear contents; use a delay because tinyMCE editor isn't always fully loaded on document.ready var t = setTimeout(function ()

我在keyup事件上使用以下函数重定向到另一个javascript函数。 问题是它似乎没有启动,尽管它确实将函数绑定到文本框

$(document).ready(function () {
EnablePickTargetButton();

//clear contents; use a delay because tinyMCE editor isn't always fully loaded on document.ready
var t = setTimeout(function () {
    if (typeof textEditorForCreate != 'undefined' && tinymce.editors.length > 0)
        tinyMCE.activeEditor.setContent('');
}, 300); 

var txtSearchUser = $('#txtSearchUser');
if(typeof txtSearchUser != 'undefined')
{
    $('#txtSearchUser').keyup(function (e) {
        if (e.keyCode == 13) {
            e.preventDefault();                
            searchUser();
        }
        else
            alert('cucu');
    });
}
});
甚至警报都没有出现。检查html,我可以看到它没有将onkeyup添加到文本框中;文本框位于窗体上div中的弹出窗口中;但在document.ready上,它运行函数时不会出错。

它可以工作:

$(document).ready(function(){
    $('#txtSearchUser').keyup(function (e) {
        if (e.keyCode == 13) {
            e.preventDefault();                


        }
        else
            alert('cucu');
    });
});

检查是否正确引用了html元素。也许您将id与类混合使用?

它可以工作:

$(document).ready(function(){
    $('#txtSearchUser').keyup(function (e) {
        if (e.keyCode == 13) {
            e.preventDefault();                


        }
        else
            alert('cucu');
    });
});


检查是否正确引用了html元素。也许您将id与类混合使用?

我编辑了您的代码并正在工作:

问题在于您的document ready函数中存在语法错误,下次请检查浏览器中的console以查看错误:


我编辑了您的代码并正在工作:

问题在于您的document ready函数中存在语法错误,下次请检查浏览器中的console以查看错误:


在文档或最近的静态元素上尝试此委托。(如果元素是动态添加的)


在文档或最近的静态元素上尝试此委托。(如果元素是动态添加的)



在JSFIDLE上运行良好您是否已将document.ready和包含的jQuery添加到文档中?如果它没有触发事件,您如何知道它已绑定到该框@Anton comment似乎是答案。@InsertUserName此处的URL是JSFIDLE mainpage@Anton你以9秒的优势击败了我是的,对我来说也很好。您可能需要添加ready()或jquery未正确加载。在JSFIDLE上运行良好。您是否已将document.ready和included jquery添加到文档中?如果它未触发事件,您如何知道它已绑定到框@Anton comment似乎是答案。@InsertUserName此处的URL是JSFIDLE mainpage@Anton你以9秒的优势击败了我是的,对我来说也可以。您可能需要添加ready(),或者jquery没有正确加载
typeof txtSearchUser!='未定义的“
-绝对无用的检查。jQuery实例永远不能未定义。需要检查
txtSearchUser.length
@YuryTarabanko我刚刚纠正了错误,这样脚本就可以工作了,谢谢你的建议,我会在answer@FaceOfJOck:我添加了完整的document ready函数,那里没有错误,只是没有将其复制到正确的位置。浏览器控制台中没有错误。@FaceOfJock:我找到了id不起作用的原因:此文本框位于动态添加的弹出窗口中,因此,在document.ready时,此测试框不存在于页面的html中;我尝试将document.ready处理程序添加到弹出窗口以绑定事件;不工作..
typeof txtSearchUser!='未定义的“
-绝对无用的检查。jQuery实例永远不能未定义。需要检查
txtSearchUser.length
@YuryTarabanko我刚刚纠正了错误,这样脚本就可以工作了,谢谢你的建议,我会在answer@FaceOfJOck:我添加了完整的document ready函数,那里没有错误,只是没有将其复制到正确的位置。浏览器控制台中没有错误。@FaceOfJock:我找到了id不起作用的原因:此文本框位于动态添加的弹出窗口中,因此,在document.ready时,此测试框不存在于页面的html中;我尝试将document.ready处理程序添加到弹出窗口以绑定事件;不起作用..谢谢@Anton,完成了任务:)有没有办法找到txtSearchUser并通过此委托方法的第二个参数传递对象?当我尝试这样做时,它不起作用,即key-up-event-not-firiingThank YOU@Anton,这就是trik:)有没有办法找到txtSearchUser并通过此委托方法的第二个参数传递对象?当我尝试时,它不起作用,即按键启动事件未启动
$(document).on('keyup','#txtSearchUser',function(){
    //Code
});