我真的很困惑。这段代码在我的计算机上的本地服务器上工作得很好。但是在我将它上传到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元素一个边框来检查,然后显示边框。
我非常感谢任何帮助!谢谢!
答案 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字符串之前有./。我会尝试删除