我有一个滑块,我已将其组织到一个<ul>
中,<li>
作为要循环的单个项目。只有第二个<li>
可见,如果向左滚动,则需要使用最后一个<li>
并将其删除,将其放在前面,反之亦然,如果向右滚动。
以下是代码笔:http://codepen.io/anon/pen/kGBcr
滑块位于&#34;更多影响者的右侧。&#34;问题是当我点击“关注”后面。链接,它改变了我想要的CSS和文本,直到它到达已被移除并放置在另一端的<li>
。它不会阻止默认链接,只是重新加载页面。
感谢您的帮助!
旋转滑块的功能位于第120行和第135行。更改文本和CSS背景颜色的功能位于第78行。
答案 0 :(得分:2)
每当使用remove()
删除元素时,它都会丢失其绑定,您需要重新绑定事件侦听器。
但是,如果您使用appendTo()
来移动它,那么事件监听器将会存在。
另一种选择是使用detach()
函数:
var objectWithEvents = $('#old').detach();
$('#new').append(objectWithEvents);
您的情况甚至比仅仅删除更糟糕,因为您正在使用:
html = $('element').html();
newHtml = someEl.append('<li>'+html+'</li>');
第127行。这使得它更糟糕,因为不仅你要删除该元素,而且使用其html内容使得保持与之相关的事件监听器变得更加困难。