Jquery Click()不';行不通
我有一个外部Jquery Click()不';行不通,jquery,click,Jquery,Click,我有一个外部*.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=
*.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>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="/_jscripts/tema.js"></script>
$(function() {
// your code
});
扎克拉德尼·费齐卡·莱尼·波杰米是杰德诺茨基人
扎克拉德尼·费齐卡莱尼·波杰米,měřeníve fyzice
...
阿斯特罗夫齐卡
费齐卡尼奥布拉兹·斯维塔
在HEAD部分中,我包括jQuery和外部文件源,如下所示:
<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>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="/_jscripts/tema.js"></script>
$(function() {
// your code
});
当我打开网页时,alert()
通知已“加载”
,以便导入jQuery文件。但是当我点击span元素,它的类是“hlavni_tema”,什么都没有发生。我也尝试过使用以下代码:
.on(“单击”,function())
及
.on(“单击”,“tema”,function())
--都没有用
谢谢您的帮助。将代码放入
$(文档).ready()
否则,您的代码将在元素添加到DOM之前运行,因此选择器与任何内容都不匹配。设置事件时,DOM可能还没有准备好。将处理程序放在文档中准备就绪
$(function(){
$(".hlavni_tema").click(function() {
alert("ok");
});
});
加载DOM后,必须分配事件处理程序 试试这个,应该有用
$(document).ready(function(){
$(".hlavni_tema").click(function() {
alert("ok");
});
alert("Document loaded");
});
alert("Script loaded");
我在Firefox、Google Chrome和Internet Explorer中检查了相同的代码。它在所有三种浏览器中都能工作,可能是您在Jquery文件之前添加了单击事件 请检查是否已将单击代码放入document.ready()函数中
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js">/script>
<script src="/_jscripts/tema.js"></script>
<script type="text/javascript">
$(document).ready(function () {
$(".hlavni_tema").click(function () {
alert("ok");
});
alert("loaded");
});
</script>
/script>
$(文档).ready(函数(){
$(“.hlavni_tema”)。单击(函数(){
警报(“正常”);
});
警报(“已加载”);
});
关于jQuery需要了解的最重要的事情之一是,需要了解DOM何时被完全加载,以便执行jQuery脚本。一个好的建议是编码如下:
$(文档).ready(函数(){
//你的代码
});代码>
或者,您可以在匿名函数中使用缩写形式,如下所示:
<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>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js"></script>
<script src="/_jscripts/tema.js"></script>
$(function() {
// your code
});
有关更多信息,请参阅
注意“.ready()”表示DOM已完全加载,而匿名函数是该事件的处理程序;看
此外,如果您没有在本地加载库,那么使用正确的jQuery源代码URL也很重要。要在StackOverflow运行代码,我必须使用
https://ajax.googleapis.com/ajax/libs/jquery/1.11.1/jquery.min.js
即使这样,我也能在网上找到同样的url,前面加了“http”
注:
ready事件在加载HTML文档后发生,而
当所有内容(如图像)都已加载时,onload事件会在稍后发生
已加载
看这个
由于您可能希望检查窗口是否也已完全加载,因此此脚本也包括该代码
$(文档).ready(函数(){
$('.hlavni_tema')。单击(函数(){
控制台日志(“ok”);
});
控制台日志(“加载的文档”);
});
$(窗口).on(“加载”,函数(){
控制台日志(“窗口加载”);
});代码>
#tema{
背景:#eef;
}
hlavni_tema先生{
颜色:#00c;
}
扎克拉德尼·费齐卡·莱尼·波杰米是杰德诺茨基人
扎克拉德尼·费齐卡莱尼·波杰米,米恩·费齐斯。。。
阿斯特罗夫齐卡
费齐卡尼奥布拉兹·斯维塔