我有这个问题,但简而言之:我有一个自调用函数(function TCC() {...})();
,它可以生成两个元素部分,等等。这些元素是用类生成的btn
。$('.btn').click(function () {...};
[带有适当的 console.log() ] 的另一个 JQuery 函数显示btn
除了前面提到的两个部分的元素之外,页面上所有具有类的元素都被单击。
一条评论建议“出现问题是因为您在“列按钮生成器”循环之前绑定了单击事件。”,以及建议的解决方案:
$.each(cols, function(i) {...}).done(function(){ //Add click event handler now });
第一个问题是有人可以详细说明“因为您在“列按钮生成器”循环之前绑定了点击事件。
第二个问题是关于提议的解决方案。由于我有两行单独的代码用于生成,并且$('btn').on('click', function() {...});
块超过 50 行,如何在不复制代码行的情况下实现解决方案,因为我认为该.done()
方法需要这个。有问题的页面在这里。
生成代码相对于的当前作用域结构
.on('click')
如下(对不起,图片,但 StackOverflow 出于某种原因不喜欢这种格式):
代码生成行的范围是否会影响这一点,如果是这样,我可以将它们从自调用函数中拉出来以修复建议中提到的“绑定到单击事件”吗?
感谢您的帮助和专业知识,因为从头开始学习编程,这些类型的结构课程通常被排除在教科书中经常包含的在线学习工具之外。