我有一个包含以下代码的外部 *.js
文件:
$(".hlavni_tema").click(function() {
alert("ok");
});
alert("loaded");
和一个 HTML 页面,如下所示:
<div id="tema">
<span id="hlavni_tema_1" class="hlavni_tema">Základní fyzikální pojmy a jednotky</span>
<input type="checkbox" name="tema" id="tema_1a" value="'1a'">
<label for="tema_1a">Základní fyzikální pojmy, měření ve fyzice</label>
...
<span id="hlavni_tema_8" class="hlavni_tema">Astrofyzika</span>
<input type="checkbox" name="tema" id="tema_8d" value="'8d'">
<label for="tema_8d" class="posledni_label">Fyzikální obraz světa</label>
</div>
在 HEAD 部分,我包含了 jQuery 和外部文件源,如下所示:
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="/_jscripts/tema.js"></script>
当我打开网页时,
alert()
通知 "loaded"
,以便导入 jQuery 文件。但是当我单击类为“hlavni_tema”`的 span 元素时,什么也没有发生。我也试过这个代码:.on("click", function())
和
.on("click", "#tema", function())
——都无济于事。
谢谢你的帮助。
最佳答案
您必须在加载 DOM 后分配事件处理程序。
试试这个,它应该可以工作。
$(document).ready(function(){
$(".hlavni_tema").click(function() {
alert("ok");
});
alert("Document loaded");
});
alert("Script loaded");
关于jQuery .Click() 不起作用,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/25576682/