有时返回假不工作

时间:2012-04-10 23:54:53

标签: javascript jquery hyperlink return-value

我有一个带照片库的页面http://dev.dolina-imeniy.ru/fotogalereya/kp_usadba_tishnevo/ 我用它来绑定click事件并将其返回false

$('a.link_photo').click(function(e) {
var new_img = $(this).attr('href');
var photo_title = $(this).attr('title');
var photo_info = $('.photo_info', this).html();
$('#photo_view img').attr({
    src : new_img
});
$('#photo_title').html(photo_title);
$('#photo_info').html(photo_info);
return false;
    });

但是在某些图片上它不起作用!为什么会出现?

请点击我的示例中的10张图片(ut-1-foto.jpg)进行查看。

4 个答案:

答案 0 :(得分:3)

由于某种原因,您的代码正在破坏,因此无法返回false。

您可以使用e.preventDefault();停止默认操作

e.preventDefault();

答案 1 :(得分:2)

尝试调用e.preventDefault()

有关详情,请点击此处: http://api.jquery.com/event.preventDefault/

答案 2 :(得分:2)

这样做的原因是该函数仅绑定到调用时已存在的元素。在加载文档之后创建的每个链接都不会绑定到此功能。要监听这些元素的创建,然后将函数绑定到它们,您可以使用jQuery插件liveQuery。我希望有所帮助。

答案 3 :(得分:1)

我认为return false;event.preventDefault()与此无关。我猜这与你的旋转木马如何工作有关。一旦图像开始重复,您的代码就会中断,这并非巧合 - click事件可能不再受限制。如果刚刚移动元素,则仍应设置事件,但如果正在克隆或复制事件,则事件可能不会。

编辑:我可以通过调试确认您的脚本甚至没有在“损坏的”链接上调用。