函数在卸载事件中工作,但在单击事件中不工作
Function working in an unload event but not in a click event
我有一个注销函数,它在两个不同的事件中被调用。一个是卸载事件,另一个是单击事件。如果我卸载或刷新页面,就会调用该函数并注销用户。但是,当我单击注销按钮时,该函数不会被调用。有人能解释一下原因吗?
js
var loc = "../pages/logged_out.php";
function logout(location){
$.post("../php/logout.php", {}, function(response){
if(response.success == "1"){
location.replace(location);
}
}, "json");
}
$("#logout").on("click", function(){
logout(loc);
})
$(window).unload(function(){
logout(loc);
})
html
<button class="button" name="logout" id="logout">Logout</button>
编辑:我没有提到的一件事是,如果我使函数匿名,并且不尝试将位置作为参数传递,那么脚本就可以正常工作。
查看您的代码,您定义了一个可变位置,并尝试使用location.replace
function logout(location){ <-- variable location
$.post("../php/logout.php", {}, function (response){
if(response.success == "1"){
location.replace(location); <-- trying to use replace on itself
}
}, "json");
}
将location
重命名为其他变量。浏览器不知道你实际上是指window.location.replace()
function logout (redirectLocation) {
$.post("../php/logout.php", {}, function(response){
if(response.success == "1"){
window.location.replace(redirectLocation);
}
}, "json");
}
相关文章:
- Jquery.点击事件不'更改事件后无法工作
- 当我更改innerHtml时,引导选项卡事件不再工作
- IE8更改文本区域上的事件侦听器不工作
- xPages标签onclick事件不'不要在空白处工作
- 为什么此事件侦听器不工作
- 主干点击事件按钮不工作
- 为什么动态加载的事件在我的代码中不能正常工作
- onbeforeunload事件在我的代码中没有触发,但其他示例可以工作
- 谷歌分析跟踪内部链接不正常工作的事件
- java脚本点击事件处理程序不工作
- javascript中无法正常工作的事件顺序
- MS Dynamics CRM 2016-addOnKeyPress事件不工作
- dropable的Over事件是't工作正常,在可拖动对象被拖放到贪婪的可拖动对象上并再次拖动后
- jQuery点击()事件在另一个点击()中获胜'我不能在手机上工作
- 如何使参数在事件函数中工作
- JavaScript's onmouseout事件未按预期工作
- CSS + jQ插件阻止AJAX调用/事件侦听器工作
- JavaScript on Click 事件在 img 标签上无法正常工作
- 脚本在“点击”下工作事件,但不是单独的(Backbone.js)
- 一些javascript代码不工作-事件处理程序'onclick'中的if()语句