防止默认停止 window.location.href 工作
preventDefault stops window.location.href from working
我的网站上有两个广告,其中一个使用脚本来解析网站上的所有链接并对其进行preventDefault()
......这使我无法在任何链接上使用 preventDefault(),因为它只能完成一次......但是,在过去,我已经能够使用 return false
解决此问题。由于某种原因,它不适用于jQuery UI自动完成功能(请参阅下面的代码)。
如果我关闭广告,脚本工作正常。否则它只是重新加载页面,因为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;
}
});
我找到了一个有效的解决方案:
select: function(event, ui) {
$('.ui-autocomplete a').attr('href', '/id/'+ ui.item.id +'/'+ ui.item.label +'/');
}
解释:jquery-ui-autocomplete 函数创建一个链接 ()-标签列表,通常你会使用 preventDefault()
来阻止浏览器进入 href 地址,因为在我的情况下这是不可能的,我尝试使用 return false
代替,但由于在这种情况下这也不起作用,我终于想到了,为什么不将链接标签 href 更改为正确的 url 而不是停止操作, 哪个有效!
相关文章:
- href 标签无法正常工作
- 使用 href=“#” JQuery 工作,但使用 href=“page.jsp” 不起作用
- “window.location.href”是如何工作的
- 从 JSON Href 获取在表中工作的按钮
- Javascript在href中工作,但在JS文件中不起作用
- href 未按预期工作
- 轨道:-位置.Href 不在项目中工作
- 为什么 jquery .click() 在添加 [0] 时在 href 上工作
- 阻止某些链接(包含某些字符串的 href)工作
- href 在导航栏中不起作用.有人可以告诉我如何让它工作
- href=“javascript:Function() 它是如何工作的
- 防止默认停止 window.location.href 工作
- href 工作而不是 JavaScript
- jQuery confirm(href)工作不正常
- <a href>链接在加载javascript时无法工作
- 点击工作时 href 不起作用
- a href onclick无法在windows phone cordova应用程序中工作
- 如何从javascript工作在c# .aspx文件,指向正确的文件夹/文件与href和src
- onclick =“函数()“;不工作但href="javascript: function()"工
- 如何使href工作与函数结果在ng-click