单击a<;span>;运行JQuery javascript函数的标记
我使用PHP创建了一个span,如下所示单击a<;span>;运行JQuery javascript函数的标记,javascript,php,jquery,Javascript,Php,Jquery,我使用PHP创建了一个span,如下所示 if ($subnetkey == 1 ) { echo ("<span class='subnetkey'>S/N of: $subnetnum</span> ");} if($subnetkey==1){echo($subnetnum的序列号);} 它工作正常,并在屏幕上显示正确的数据。另外,如果我使用“Inspect Element”查看它,它的格式是正确的 <span cl
if ($subnetkey == 1 ) { echo ("<span class='subnetkey'>S/N of: $subnetnum</span> ");}
if($subnetkey==1){echo($subnetnum的序列号);}
它工作正常,并在屏幕上显示正确的数据。另外,如果我使用“Inspect Element”查看它,它的格式是正确的
<span class="subnetkey">S/N of: 780</span>
S/N of:780
我在页面顶部有这个脚本。我也在底部试过
<script>
$(document).ready(function(){
$(".subnetkey").click(function() {
alert("subnet click mode");
});
});
</script>
$(文档).ready(函数(){
$(“.subnetkey”)。单击(函数(){
警报(“子网点击模式”);
});
});
当我单击跨度时,什么也没有发生。我没有收到任何错误,当然我也没有看到警报
这似乎是动态构建页面和使用页面之间的时间问题。但如果不是这样,我该怎么做才能启动函数呢?JQuery事件方法,如click()、dblclick()、mouseenter()等。仅适用于呈现DOM时已创建的元素。对于动态创建的元素,请使用具有以下语法的on()方法(请参阅): 因为它是一个动态创建的元素,所以您的代码无法工作。尝试:
$(document).on('click', '.subnetkey', function() {
alert("subnet click mode");
});
jQuery在运行时只知道页面中的元素,因此jQuery无法识别添加到DOM中的新元素。为了解决这个问题,我们使用了从新添加的项到DOM中某个点的冒泡事件,当jQuery在页面加载上运行时,这个点就在DOM中。许多人使用
document
作为捕获冒泡事件的地方,但并不需要一直向上遍历DOM树。理想情况下“动态构建页面”?你能详细说明一下吗?你是在做一个AJAX调用来拉入span
元素吗?我在用AJAX从MySQL拉入数据是的。为什么要向下投票?你能解释一下出了什么问题吗?是这样的,我不确定我是否完全理解解决方案,但我会去查一下。同时,它确实起作用。DV很可能是因为链接副本中回答了这一问题。不应回答明显重复项,而应作为重复项关闭。同意@PatrickQ@iiirxs不能采取正确的行动不是采取错误行动的好理由。
$(document).on('click', '.subnetkey', function() {
alert("subnet click mode");
});