[英]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.