Javascript 在“上一步”按钮上,单击“执行函数”。
在Javascript 在“上一步”按钮上,单击“执行函数”。,javascript,jquery,Javascript,Jquery,在document.ready事件中,我有一个函数,它收集具有属性“wordNum”的html控件,我发出一个AJAX请求,返回每个控件的一些描述,然后我用返回的描述设置这些控件及其innerhtml属性 问题是,如果用户单击“上一步”按钮,此功能当然不会执行,但我需要它 代码: $(document).ready(function () { Translate(); }); function Translate() { var list = new Array(); $
document.ready
事件中,我有一个函数,它收集具有属性“wordNum”的html控件,我发出一个AJAX请求,返回每个控件的一些描述,然后我用返回的描述设置这些控件及其innerhtml
属性
问题是,如果用户单击“上一步”按钮,此功能当然不会执行,但我需要它
代码:
$(document).ready(function () {
Translate();
});
function Translate() {
var list = new Array();
$("*[wordNum]").each(function () {
var endRes = {
ControllerName: this.id,
WordNumber: this.getAttribute("wordNum")
};
list.push(endRes);
});
jQuery.ajax({
url: ' @Url.Action("Translate")',
contentType: "application/json",
dataType: "json",
data: {
List: JSON.stringify(list)
},
traditional: true,
}).done(function (data) {
$.each(data, function (key, val) {
$("*[wordNum]").each(function () {
if (this.id == val.ControllerName) {
this.innerHTML = val.Description;
}
});
});
});
}
因此,我如何使“返回”按钮再次单击以执行此功能
Translate
您可以使用popstate事件触发事件:
$(window).on("popstate", function (event, state) {
// Here comes the code to execute when the back button is pressed
}
您最好的解决方案是找到一种方法,让您的应用程序在不挂接back按钮事件的情况下工作。例如,如果用户关闭浏览器或直接转到新url,则这不是您可以依赖的事件。另外,如果你在api调用完成之前不能离开站点,那么这是一个非常糟糕的用户体验。我建议你另找一条路!我知道,但不幸的是没有办法!后退按钮表示用户不想继续处理某些内容。您不应该让它执行任何代码。这是一个不会消失的弹出窗口,并在刺激程度上发送垃圾邮件。您应该更改代码,使其不需要这样做。如果您提供更多详细信息,也许我们可以告诉您如何执行此操作?如果您需要在“后退”按钮上执行代码,您应该创建自己的“后退”按钮,并使其清晰可见和直观,以便用户使用它而不是浏览器的“后退”按钮。还可以尝试使用jQuery的
.unload()
检测用户何时离开您的页面,然后执行您的功能。