我期望这里是点击课程时触发的功能,但它不会发生! a.button是动态创建的,但在完全加载时页面上有IS!
任何想法为什么?
HTML:
<a class="btn btn-success useImg">
<i class="fa-icon-plus"></i>
<span>Use</span>
</a>
Jquery:
$(".useImg").on("click", function(){
alert("test");
});
答案 0 :(得分:4)
您的代码在独立的jsFiddle中运行得非常好,您可以看到here。
因此,您必须遇到以下问题之一:
您可以通过将代码放入$(document).ready()
处理程序或使用委派事件处理来防止第一项。
对于第二项,您必须检查浏览器错误控制台是否存在脚本错误。
答案 1 :(得分:1)
您需要将click事件添加到DOM树上的另一个元素,然后对其进行过滤以处理您的anchor元素。这将触发.useImg
类的任何元素,包括动态添加的元素。
$('body').on("click", ".useImg", function(){
alert("test");
});
确保将代码包装在jQuery DOM Ready事件中以确保页面已完全加载。例如
$(document).ready(function() {
$('body').on("click", ".useImg", function(){
alert("test");
});
});
答案 2 :(得分:0)
在文档准备就绪时尝试
$(function() {
$(".useImg").on("click", function(){
alert("test");
});
}
答案 3 :(得分:0)
$(document).ready(
$('.useImg').click(function(){ alert(test); })
)
答案 4 :(得分:0)
尝试使用$("body").on("click", ".useImg", function(){
alert("test");
});
,建议您使用最新的jquery lib http://ajax.googleapis.com/ajax/libs/jquery/2.0.0/jquery.min.js