繁体   English   中英

返回 false 有时不起作用

[英]Return false not working sometimes

我有一个包含照片库的页面http://dev.dolina-imeniy.ru/fotogalereya/kp_usadba_tishnevo/我用它来绑定点击事件并将其返回 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) 来查看它。

由于某种原因,你的代码被破坏了,所以它无法返回 false。

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

e.preventDefault();

尝试调用 e.preventDefault()

有关详细信息,请查看此处: http://api.jquery.com/event.preventDefault/

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

我不认为return false; 或者event.preventDefault()与它有任何关系。 我猜这与您的旋转木马的工作方式有关。 一旦图像开始重复,您的代码就会中断,这并非巧合——点击事件可能不再受约束。 如果元素只是被移动,事件应该仍然被设置,但如果它被克隆或复制,事件可能不会。

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM