Javascript 在第二次之后未触发的事件。html()呈现这些事件
我试图用jquery的转换来呈现不同页面的元素(分页),当我呈现第一个页面时一切正常,但是当转换发生时,我附加到元素上的所有事件都消失了,我不知道确切的原因,Javascript 在第二次之后未触发的事件。html()呈现这些事件,javascript,jquery,html,backbone.js,Javascript,Jquery,Html,Backbone.js,我试图用jquery的转换来呈现不同页面的元素(分页),当我呈现第一个页面时一切正常,但是当转换发生时,我附加到元素上的所有事件都消失了,我不知道确切的原因,.html()似乎在第二次呈现时删除了它们,我不知道如何传递它们,以为克隆(真的,真的)就足够了,但没有 var transition_default = function(offsetStart, offsetEnd) { plugin.currentElements.hide(); plugin.curr
.html()
似乎在第二次呈现时删除了它们,我不知道如何传递它们,以为克隆(真的,真的)就足够了,但没有
var transition_default = function(offsetStart, offsetEnd) {
plugin.currentElements.hide();
plugin.currentElements = plugin.settings.objElements.slice(offsetStart, offsetEnd).clone(true,true);
plugin.el.html(plugin.currentElements);
plugin.currentElements.show();
};
任何帮助或纠正都将不胜感激
更新1:看起来这家伙几乎有同样的问题,但我不完全确定如何将这个问题的解决方案应用到我的案例中。
更新2:了解如何应用解决方案.Debug(),请参阅下面的答案。
< P>您应该考虑使用委托绑定。$(existingParentElementOfThings).on(event, childElementSelector, eventHandler);
问题很可能是您正在用html()替换已绑定的内容,因此具有绑定的元素将消失。通过使用一个从未删除的父绑定,来自孩子的事件会冒泡到它并按照预期的方式处理。
你应该考虑使用委托绑定。
$(existingParentElementOfThings).on(event, childElementSelector, eventHandler);
问题很可能是您正在用html()替换已绑定的内容,因此具有绑定的元素将消失。通过在从未删除的父对象上使用委托绑定,子对象中的事件将向上冒泡,并按预期进行处理。好的,我找到了解决方案
var transition_default = function(offsetStart, offsetEnd) {
plugin.currentElements.hide();
plugin.currentElements = plugin.settings.objElements.slice(offsetStart, offsetEnd).clone(true,true);
$("#nombreINPUT").children().detach();
$("#nombreINPUT").html(plugin.currentElements);
plugin.currentElements.show();
};
只需使用.detach()删除不破坏绑定的元素,然后再添加它们,由于某种原因,事件绑定不会以这种方式销毁
“NombreINPUT”是我正在处理的元素的父元素。好的,我找到了解决方案
var transition_default = function(offsetStart, offsetEnd) {
plugin.currentElements.hide();
plugin.currentElements = plugin.settings.objElements.slice(offsetStart, offsetEnd).clone(true,true);
$("#nombreINPUT").children().detach();
$("#nombreINPUT").html(plugin.currentElements);
plugin.currentElements.show();
};
只需使用.detach()删除不破坏绑定的元素,然后再添加它们,由于某种原因,事件绑定不会以这种方式销毁
“NombreINPUT”是我所处理的元素的父元素。我们需要一个测试来真正找出问题所在。@Diego关于您的编辑。您声称“不完全确定如何应用该问题解决方案[sic]”。但是,您需要使用
.detach()
。是使用.detach()
@Louis Yes当我发布编辑时,我的声明是正确的。经过一段时间的测试,我找到了正确导入解决方案的方法,将再次更新我的帖子。我们需要一个新的方法来真正找出问题所在。@Diego关于你的编辑。您声称“不完全确定如何应用该问题解决方案[sic]”。但是,您需要使用.detach()
。是使用.detach()
@Louis Yes当我发布编辑时,我的声明是正确的。经过一段时间的测试,我找到了正确导入解决方案的方法,将再次更新我的帖子。