javascript - jQuery 如果在未定义的函数内

标签 javascript jquery if-statement

我有这个显示图像和单词的简单代码,您必须完成该字段。如果您正确输入单词,则会出现恭喜弹出窗口。

我能够弄清楚如何随机化 array 中的项目以显示随机图像。 现在我想检查每个 keyup 是否与那个随机词匹配。

我的 IF 语句似乎有问题,因为如果我删除它,弹出窗口将完美运行。

错误:

uncaught typeerror undefined is not a function

代码:

<html>
    <head>
    <title>AutistApp</title>
    <link rel="stylesheet" type="text/css" href="css/style.css">
    <script src="js/jquery.min.js"></script>
    </head>

    <body>
        <div id="container">

        <div class="eval">CORRECTO</div>
        <div class="siguiente"><a href=".">&iexcl;OTRA VEZ!</a></div>

        <div class="dibujo"><img id="dibujito" src="img/apple.png" /></div>
        <div class="palabra">MANZANA</div>
        <div class="respuesta"><input type="text" id="resp" name="resp" value=""/>
        </div>
    </div>

<script type="text/javascript"> 

/***** RANDOM VALUES *****/
var messages = ["manzana", "pera", "banana"],
    message = messages[Math.floor(Math.random() * messages.length)];

$('.palabra').text(message);
$('#dibujito').attr('src','img/'+message+'.png');

/***** KEYDOWN CHECK *****/
$(document).ready(function(){
    $('#resp').keyup(function(){
        if ($("#resp").value() == message) {
            $('.eval').slideDown();
            $('.eval').delay(3000).fadeOut();
            $('.siguiente').delay(3000).slideDown();
        }
    });
});

</script>
</body>
</html>

最佳答案

您需要使用 .val() 而不是 .value() 来获取 input 元素的值,因此您可以:

if ($("#resp").val() == message) {

代替:

if ($("#resp").value() == message) {

您还需要将所有代码包装在 DOM 就绪处理程序中:

$(document).ready(function () {
    var messages = ["manzana", "pera", "banana"],
        message = messages[Math.floor(Math.random() * messages.length)];

    $('.palabra').text(message);
    $('#dibujito').attr('src', 'img/' + message + '.png');

    $('#resp').keyup(function () {
        if ($("#resp").val() == message) {
            $('.eval').slideDown();
            $('.eval').delay(3000).fadeOut();
            $('.siguiente').delay(3000).slideDown();
        }
    });
});

关于javascript - jQuery 如果在未定义的函数内,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23379381/

相关文章:

javascript - 从 Angular 6 中的对象中删除值

javascript - HTML5 视频无法在移动设备上播放

javascript - jQuery MVC - 基本 jQuery if else 语句哪个不能工作?

MySql - 如果表存在,只更新一些行 - 不希望抛出错误

java - android 夹板字符串

Javascript 绘图实用程序 - 用于折线图的多个 Y 轴

jQuery-Mobile 禁用页面拖动并防止滚动页眉/页脚

javascript - 最新产品上的 opencart jcarousel

java - 如果银行账户类别中遗漏了报表?

javascript - Chrome 扩展程序可替换 Gmail 聊天中的文本