为什么当事件变为“true”时,我的 JQuery 函数没有在克隆的元素上触发
Why is my JQuery function not triggered on a cloned element when the event becomes "true"?
我一直在制作这个表单,必须使后端用户能够创建新问题供用户回答。在第一个 .on(click) 事件之后,表单将成功克隆并追加到div(选择器 #content),但如果按下克隆的按钮,它不会再次复制表单。应用于我的下拉选择的 .on(change) 事件确实像它应该的那样更改了相应div 的内容,但仅限于原始表单。
这是 JQuery 代码:
$(document).ready(function () {
$('.addAnswer').on("click", function () {
var idx = $('#mp div[name^="antwoord"]:last').index() + 1;
$clone = $('#mp div[name^="antwoord"]:first').clone(true, true).attr('class', 'answer content_' + idx);
$('.removeAnswer').show;
$('#mp').append($clone);
$('.answer:last').each(function () {
$('b:last').empty();
$('b:last').prepend(String.fromCharCode(64 + idx) + ". ")
$('.addAnswer').on("click", function () {
idx++;
});
});
if (idx == 2) {
$('.removeAnswer').show();
}
});
$('.nextq').click(function () {
var newqid = $('#content form:last').index() + 1;
$('.done, .nextq, .remove').hide();
$('#content').append('<hr>');
$('#content').append($('form').html()).attr('class', 'q_' + newqid);
$('.nextq').on("click", function () {
newqid++;
});
$('.done:last, .nextq:last, .remove:last').show();
return false;
});
$('.group').hide();
$('#text:last').show();
$('.select:last').on("change", function () {
$('.group').hide();
$('#' + $(this).val() + ':last').fadeIn();
$('button.' + $(this).val() + ':last').fadeIn();
});
});
因为我认为发布整个HTML模板有点太多了,所以我为你们提供了一个JSFiddle。
对于那些感觉善良的人来说,还有一个额外的问题:在 JQuery 代码中,可以看到 HTML 的内容正在使用 .html() 进行解析并附加 .append。(JSFiddle 上的第 33 行)当 .on(change) 函数切换它应该更改的分区内容时,.html() 会看到这些更改并随之而来。我希望 .on(click) 函数将div 的内容附加到其原始状态,由后端用户事先进行的更改保持不变。对此的任何帮助都将是非常有义务的。
为了让 jQuery 触发新元素,你可以做类似的事情
$( document ).on( "click", "<your id or class>", function() {
//Do stuff
});
相关文章:
- 使用 jQuery 的 .on 函数如何获取事件的原始元素
- 在函数中添加数组元素的数值
- 如何在DOM元素上按类型构建此函数
- 是否有一个JS/jQuery函数可以获取某个类的每个元素的ID
- 如何计算每个元素's的高度,并将这些值用作函数中的变量
- Rails/Javascript链接到用于切换多个元素的函数
- 如何在HTML元素上创建函数,而不是将元素作为参数传递
- jQuery在元素的上下文中运行函数
- 如何在模板聚合物中使用元素函数
- Append元素在运行两次函数后不显示
- 当元素可见时,jQuery滚动函数会触发一次
- 如何将一个函数附加到一个不存在的元素上
- 带有事件的触发元素函数
- 是否可以从另一个元素访问元素函数?聚合物1.0
- 单击的元素函数参数的值错误
- 为什么不在DOM元素函数上应用工作呢?
- 未定义的错误:创建带有返回HTML元素函数的对象
- node . js,节点.IO -使用"each"迭代元素函数停止服务器
- 将循环变量作为元素函数中的参数传递
- 动态添加的元素函数调用不工作