我有一个包含以下代码的外部 *.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/

10-12 12:39
查看更多