我到处找,但找不到答案。我正在制作一个小纸牌游戏,我需要游戏附加一些文字,如果某张卡被创建。追加文本在单击事件时不起作用,但不适用于此函数。该函数被正确触发,如控制台日志和这样的火灾。我真的不确定我做错了什么?
function ghostcheck() {
if (hand[0][0] == 'ghost'){
ghostpresent = true;
console.log("It's a ghost!!");
$("#infocard").append("<p>Oh no! A ghost! What would you like to do?<br><br></p>");
}感谢你在这件事上的帮助!
发布于 2016-01-15 10:02:21
我得到了一个想法,你试图附加一些文本的元素是动态创建的。
您可以使用jQuery的live()事件来处理此类问题。
Link here
希望这能帮上忙..
发布于 2016-01-15 10:38:08
function ghostcheck() {
if (hand[0][0] == 'ghost'){
ghostpresent = true;
console.log("It's a ghost!!");
console.log("Is there InfoCard? ", $("#infocard").length > 0);
$("#infocard").append("<p>Oh no! A ghost! What would you like to do?<br><br></p>");
}
}如果你能看到“这是个幽灵!!”以及控制台上的“and InfoCard? true”,这意味着附加文本是有效的。
我认为另一个事件处理程序正在重置infoCard元素,在重置ghost检查函数之后,请参阅文本。
发布于 2016-01-15 10:45:37
只是为了确保仔细检查“#inforcard”在您的html中是否拼写正确。
我的建议是尝试:
//declare this at the start
$infoCard = $('#infoCard');
function ghostcheck() {
$infoCard.append('<p>Oh no! A ghost! What would you like to do?<br><br></p>');
}
ghostcheck();<script src="https://ajax.googleapis.com/ajax/libs/jquery/2.1.1/jquery.min.js"></script>
<div id="infoCard">
ghost
</div>
看看能不能成功
https://stackoverflow.com/questions/34803098
复制相似问题