我有一个非常简单的一块JavaScript代码的,只是应该工作,当我在浏览器控制台中运行它,它仅适用:脚本,在浏览器控制台工作,但不是当代码
<script>
$(".hopscotch-close").click(function() {
alert("Hi");
Cookies.set("tourState", "closed")
})
</script>
因为它运行在控制台我知道: 1)".hopscotch-close"
是好的; 2)代码中没有可能阻止其运行的错误; 1)因为是一个“点击”事件我知道我没有准备好DOM的问题(我可以放在任何地方 - 但在这种情况下,在<body>
的底部; 2)我知道我没有问题,因为使用相同的名称为一类比其他的东西存在; 3)Safari和Firefox中的行为是相同的,所以它不是浏览器问题。我知道如果没有完整的代码,这是非常困难的,但是如果有人经历过这种情况,那么对于可能是什么问题可能有没有想法。
'.hopscotch-close'元素被动态追加? –
在绑定点击处理程序之前检查'$(“。hopscotch-close”).length',如果它是0,你知道你没有所需的元素 – drys
@GuruprasadRao是的,它是,我认为你是对的...(请参阅下面的评论) –