jQuery .Click()不起作用

Ond*_*lek 3 jquery click

我有一个外部*.js文件,其中包含以下代码:

$(".hlavni_tema").click(function() {
  alert("ok");
});
alert("loaded");
Run Code Online (Sandbox Code Playgroud)

和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>
Run Code Online (Sandbox Code Playgroud)

在HEAD部分,我包括jQuery和外部文件源,如下所示:

<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="/_jscripts/tema.js"></script>
Run Code Online (Sandbox Code Playgroud)

当我打开网页时,alert()通知"loaded",以便导入jQuery文件.但是当我点击类为"hlavni_tema"的span元素时,没有任何反应.我也尝试过这段代码:

.on("click", function())

.on("click", "#tema", function())

- 一切都无济于事.

谢谢你的帮助.

nis*_*eri 9

在加载DOM之后,您必须分配事件处理程序.

试试这个,它应该工作.

$(document).ready(function(){
    $(".hlavni_tema").click(function() {
        alert("ok");
    });
    alert("Document loaded");
});
alert("Script loaded");
Run Code Online (Sandbox Code Playgroud)


Bar*_*mar 8

把代码放在里面 $(document).ready()

$(document).ready(function() {
    $(".hlavni_tema").click(function() {
        alert("ok");
    });
};
Run Code Online (Sandbox Code Playgroud)

否则,您的代码在元素添加到DOM之前运行,因此选择器不匹配任何内容.