为什么我的jQuery .click()回调没有正确处理输入?

时间:2011-09-30 01:54:18

标签: javascript jquery fancybox

我正在创建这个很酷的HTML Jeopardy游戏,我需要一些编码帮助。 现在我正在处理第一个问题。它出现在FancyBox中。

我正在使用if来识别正确答案,但它无效。

我有代码:

$(document).ready(function() {
    var tag_100_input = $('#tag_100_ans').val();
    $('#tag_100_button').click(function() {
        if (tag_100_input == 'strong' || tag_100_input == 'b' || tag_100_input == '<strong>' || tag_100_input == '<b>') {
            $('.tag_100_correct').fadeIn(500);
            setTimeout("$.fancybox.close()", 3000);
            score += 100;
            $('#tag_100_not').css('display', 'none');
            $('#tag_100').css('display', 'none');
        }
        else {
            $('.tag_100_wrong').fadeIn(500);
            setTimeout("$.fancybox.close()", 3500);
            $('#tag_100_not').css('display', 'none');
            $('#tag_100').css('display', 'none');
        }
        $('.score').html(score);
    });
});

危险的问题是: 什么标签可以使文字大胆?

即使我进入其中一个发球者:bstrong<b><strong> 它向我显示错误的<span>而不是正确的{{1}}。那是为什么?

1 个答案:

答案 0 :(得分:3)

$(document).ready(function() {
    var tag_100_input = $('#tag_100_ans').val();
    $('#tag_100_button').click(function() {

文档加载后,您将使用.val()检索输入。您之后不会再次查看输入,因此您的代码将仅对默认输入值起作用,而不是您实际输入的值。

您只需要通过交换第二行和第三行来获取.click()回调中的输入值:

$(document).ready(function() {
    $('#tag_100_button').click(function() {
        var tag_100_input = $('#tag_100_ans').val();