0
我的網站上有兩個廣告,其中一個使用腳本解析網站上的所有鏈接,並對它們執行preventDefault()
...這使我無法使用preventDefault ()在任何鏈接,因爲它只能做一次...但在過去,我已經能夠解決這個問題,使用return false
。由於某些原因,它不適用於jQuery ui自動完成功能(請參閱下面的代碼)。preventDefault停止工作的window.location.href
如果關閉廣告,腳本可以正常工作。否則,它只是重新加載頁面,因爲return false;
似乎不工作...
腳本我不能變化:
$(document).ready(function() {
$('a').on('click', function(e) {
e.preventDefault();
// stuff
});
)};
我的腳本:
$search.autocomplete({
source: function(request, response){
$url = "suggestions/";
$.get($url, {data:request.term}, function(data){
response($.map(data, function(item) {
return {
label: item.movie_name,
id: item.movie_id
}
}))
}, "json");
},
minLength: 2,
dataType: "json",
cache: true,
focus: function(event, ui) {
return false;
},
select: function(event, ui) {
window.location.href = ('/id/'+ ui.item.id +'/'+ ui.item.label +'/');
return false;
}
});
此代碼的行爲是什麼,以及您的預期行爲是什麼? 'return false'和e.preventDefualt()有相同的效果。 e.cancelBubble()',這是否解釋你所看到的? – Halcyon
看到我的編輯,我的意圖是重定向到perm鏈接..但返回false;不會火.. – OZZIE
我不明白,'返回false'不應該阻止重定向。你的意思是你選擇的回調沒有被調用? 'autocomplete'是否適用於'a'元素? – Halcyon