JQuery .click(function(){})在本地工作,但不在服务器上工作

时间:2014-11-27 07:26:00

标签: javascript jquery html css

我真的很困惑。这段代码在我的计算机上的本地服务器上工作得很好。但是在我将它上传到hostgator服务器后,此函数不再被执行,因为当我在firefox调试器上设置断点时,当我点击名为deck-title的类时,不会调用此函数。然而在本地,断点确实起作用并且函数被调用。

// when click the decks, the current deck should change
$(document).ready(function() {
    $(".deck-title").click(function() {
        var deckTitle = $(this).text();
        $("#current-deck-span").html(deckTitle);
        if (deckTitle !== current_deck_global) {
            var deckID = getDeckIDFromTitle(deckTitle);
            updateDisplayingDeck(current_userID, deckID);
        }
        current_deck_global = $(this).text();
    });
});

关于此click(function()的任何想法?我的意思是,除了这一个之外,其他每个JQuery代码都在hostgator服务器上运行良好...

以下是我网页中的<head>

<head>
    <title></title>
    <meta charset="utf-8"></meta>
    <link href="./css/home.css" type="text/css" rel="stylesheet"></link>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
    <script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
</head>

我在其他脚本之前首先加载JQuery脚本。所以$(document).ready(function())应该可以工作(我还通过在文档准备就绪后给每个css元素一个边框来检查,然后显示边框。

我非常感谢任何帮助!谢谢!

3 个答案:

答案 0 :(得分:1)

您的处理程序似乎运行得太早。尝试使用事件委派:

$(document).on("click", ".deck-title", function() {
    //.....
});

答案 1 :(得分:1)

首先根据VDesign评论指定DocType,然后将此代码放在脚本块中以验证是否加载了jQuery库。

<script type="text/javascript">
 if (typeof(jQuery) == 'undefined') {
   var jq = document.createElement("script");
   jq.type = "text/javascript";
   jq.src = "http://code.jquery.com/jquery-1.9.0.js";
   document.getElementsByTagName('head')[0].appendChild(jq);
 }
</script>

加载后,您可以按原样添加脚本。

// when click the decks, the current deck should change
$(document).ready(function() {
    $(".deck-title").click(function() {
        var deckTitle = $(this).text();
        $("#current-deck-span").html(deckTitle);
        if (deckTitle !== current_deck_global) {
            var deckID = getDeckIDFromTitle(deckTitle);
            updateDisplayingDeck(current_userID, deckID);
        }
        current_deck_global = $(this).text();
    });
});

希望这有帮助!

答案 2 :(得分:0)

我想知道您的css是否未正确加载,因为在您的第一个链接标记中,您的href字符串之前有./。我会尝试删除