在 .detach() 和 .append() 之后使用 .load() 无法按预期工作
Using .load() after .detach() and .append() not working as intended
我在Javascript中使用.load()方法时遇到问题,它在页面加载时工作正常,但是在我分离相应的元素并再次附加它之后,该方法不再起作用。你可以在下面看到我的代码:
<script type="text/javascript">
(function () {
var div = $('#exhibitions');
var max = @Model.Total;
var count = 0;
div.find('.show-more').click(function () {
div.find('.more-exhi').hide().load('@Url.Action("Exhibitions", "Exhibition")', { year: $(this).attr('data-year') } ).fadeIn('1500');
div.find('.show-less').show();
$('.more-exhi').attr('class', 'less-exhi');
count++;
if (count == max) {
div.find('.show-more').hide().detach().hide();
}
});
div.find('.show-less').click(function () {
var button = div.find('button.show-more').detach();
div.find('.more-exhi').fadeOut('1500');
div.find('.less-exhi').fadeOut('1500');
div.find('.show-less').hide();
div.find('.holder').append(button);
div.find('.show-more').attr('data-year', '@DateTime.Now.Year');
});
})();
</script>
我使用了调试器,但就调试而言:没有错误,一切应该都正常。但是,当我单步执行加载新内容的代码部分(第 10 行)时,页面中没有添加任何内容(但是我确定 load() 方法具有有效的内容调用)。
我知道该事件有效,因为此函数中的其他方法仍然正常工作。我该怎么做才能解决此问题?
首次处理点击时,通过执行以下操作,将具有more-exhi
类的任何元素上的所有类完全替换为less-exhi
:
$('.more-exhi').attr('class', 'less-exhi');
。然后永远不要把more-exhi
放回别处。因此,在随后的点击中,此行变为无操作:
div.find('.more-exhi').hide().load('@Url.Action("Exhibitions", "Exhibition")', { year: $(this).attr('data-year') } ).fadeIn('1500');
。因为div.find('.more-exhi')
找不到任何元素。
相关文章:
- .load ajax无法正常工作whitin wordpress主题
- 动态潜水高度jQuery.Load()不工作
- Ajax load在chrome中不起作用,而在Fire fox中工作
- 为什么onload=“;函数“;工作,而jquery.load不工作;t
- jQuery.load随机工作,绝望
- Jquery 和 JS 在 DOM 上工作,而不是在 load
- 在 .detach() 和 .append() 之后使用 .load() 无法按预期工作
- 如何在没有window.location.reload()的情况下使JavaScript .load工作
- jquery .load() 函数仅在第一次工作
- 当我将变量附加到 URL 时,如何使 .load 工作
- 刷新页面时使用chrome缓存的图像.load()工作不正常
- 为什么不'第二次和第三次调用后,t ajax load()工作
- jQuery.load()是如何工作的
- load()由一个不工作的按钮触发
- jQuery.load()无法在jQueryload()加载的另一个内容中工作
- Ajax .load()在初始触发时无法工作
- 试图获得一个AJAX风格的.load()元素与.on()绑定,但它不工作
- jQuery .on('load')没有按预期工作
- Jquery load()只在firefox中工作
- Javascript stoppropagation不能与ajax .load一起工作