我想在用户点击拇指图像时更改图像,并阻止它跳转到页面顶部。
我写的第一个代码:
$('#photos-list img').click(function(e) {
e.preventDefault();
var imgObj = new Image();
var targetObj = $('#main_image img');
imgObj.onload = function() {
targetObj.attr('src',this.src);
}
imgObj.src = $(this).attr('rel');
});
preventDefault()工作正常。好吧,我想为图像更改添加一些效果,比如淡入,我在
中添加了一些jquery效果$('#photos-list img').click(function(e) {
e.preventDefault();
var imgObj = new Image();
var targetObj = $('#main_image img');
imgObj.onload = function() {
targetObj.hide();
targetObj.attr('src',this.src);
targetObj.fadeIn('normal');
}
imgObj.src = $(this).attr('rel');
});
而这次,preventDefault不起作用,即使我给fadeIn()一个防止默认,如:
targetObj.fadeIn('normal', function(e1){e1.preventDefault();});
解决这个问题的任何方法?
答案 0 :(得分:4)
尝试用
结束功能return false;
答案 1 :(得分:2)
你必须收到一个错误,因为preventDefault失败了(虽然乍一看js看起来还不错)。你有萤火虫吗?这是确切的来源吗?
答案 2 :(得分:0)
您需要启用ie支持。
尝试以下方法:
$('#photos-list img').click(function(event) {
var ev = event || window.event;
ev.preventDefault();
// ... the rest of your code
答案 3 :(得分:0)
jQuery fadeIn函数的回调没有收到事件参数。
我认为你有以下结构:
<div id="#photos-list>
<a href="#"><img src="..." /></a>
</div>
所以试试这个:
$('#photos-list a').click(function(e) {
e.preventDefault();
});
答案 4 :(得分:0)
它的工作:
if(event.preventDefault){
event.preventDefault();
}else{
event.returnValue = false;
};