我正在使用数据文件锚标记将用户留在网络应用程序中。
示例HTML
<div class="products_content">
<a data-file="salt.html?v=1"><img src="assets/images/template/salt.jpg" width="125" height="125" /></a>
示例js
$('.products_content a').on('click', function(){
changePage( $(this).attr('data-file') );
});
click事件没有触发,我不知道为什么,因为我使用非常类似的Nav代码,它工作正常。
非常感谢任何帮助。
这是我的changePage函数,不确定是否需要它。
function changePage(fileName) {
$('.content_container').animate({
opacity: 0
}, 500, function () {
$('.content_loading_container').load('assets/content/' + fileName, function () {
$('.content_container').delay(250).animate({
opacity: 1
}, 500);
});
if (fileName == 'home.html?v=1') {
$('.page').addClass('home');
} else {
$('.page').removeClass('home');
}
if (fileName == 'services.html?v=1') {
$('.content_container').addClass('services');
} else {
$('.content_container').removeClass('services');
}
});
}
答案 0 :(得分:2)
您可以尝试委托:
$(document).delegate('.products_content a', 'click', function(){
changePage( $(this).attr('data-file') );
return false;
})
答案 1 :(得分:1)
如果你拥有它,你的代码应该可行。
<div class="products_content">
<a data-file="salt.html?v=1"><img src="assets/images/template/salt.jpg" width="125" height="125" /> </a>
$('.products_content a').on('click', function(){
alert('click');
});
此处位于a fiddle.
使用上面的警告替换你的changePage()代码,以确定是否是失败的点击或者是否在changePage()中失败了。