簡體   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