jQuery脚本在控制台中运行,但不是从文件

时间:2015-12-24 18:27:07

标签: javascript jquery html

我对此代码有疑问:

$(document).ready(function() {
    sweetAlert("a");// This is just a test, and it runs successfully by the way!!!
});

$("#login").keyup(check);

function check() {
    $(this).val($(this).val().replace(/\s/g,"_"));
}

浏览器正在加载文件,我从检查器中检查了它,并且运行了.ready脚本。但它没有与.keyup合作。然后当我复制/粘贴行

$("#login").keyup(check);

在控制台中它可以成功运行。

如果需要,这里是html表单:

<input type="text" name="login" id="login"/>

感谢您的帮助。

1 个答案:

答案 0 :(得分:4)

只需移动.keyup就绪功能中的document

$(document).ready(function() {
    sweetAlert("a");// This is just a test, and it runs successfully by the way!!!
    $("#login").keyup(check);
});

原因是,在$(document).ready(function() {内编写的代码只有在加载所有DOM元素后才会执行。当您说它不起作用时,$("#login").keyup(check);执行时,#login将无法加载。加载所有元素后,$(document).ready(function() {将为您执行。无论在控制台中执行什么,都会在文档完全加载后执行。