我在这里和谷歌上搜索了一个无济于事的解决方案,很多类似的帖子,但大多数人不使用.on()
或缺少 end});
等
正如我正在使用的标题.on('click')
,它只会调用该函数一次然后停止,如果我使用.click()
它按预期工作!我已经检查了控制台,它告诉我同样的事情。
我将 jQuery 1.9.1 与 jQuery-ui 1.10.3 一起使用,并在 chrome 中进行测试。下面的代码(我从函数中省略了一些代码并缩短了一些,因为我知道这并不重要);
html:
<section id="Cat_List">
<ul>
<li><a href="?C=44834">Cat 1</a></li>
<li><a href="?C=10908">Cat 2</a></li>
<li><a href="?C=58202">Cat 3</a></li>
<li><a href="?C=73689">Cat 4</a></li>
</ul>
</section>
查询:
$('#Cat_list ul').on('click', 'li a', function (e) {
e.preventDefault();
var href = this.href.split('?C=').pop();
$('.loading').center('fixed').show();
console.log(href[1]);
$.ajax({
url: Script,
type: "POST",
data: {
Function: 'Cat',
Cat: href[1]
},
cache: false,
success: function (Data) {
console.log(Data);
/*Place data on second page*/
$('#Cat_List').hide(500, function () {
$('#Category_con').show(500);
});
}
});
return false;
});
我也尝试过更改为:
$(document).on('click','#Cat_List ul li a',function(e) {...
没有运气!
功能描述: 如您所见,它获取 UL 中点击链接的类别 ID 获取数据并放置到下一个“屏幕”然后显示下一个“屏幕”。有一个后退按钮可以清除所述屏幕并将其隐藏,然后再次显示类别列表。
当类别列表未隐藏时,任何点击都不会触发该功能!
任何想法如何解决?